Как выбрать файл для сервера загрузки во Flutter Web?
Я хочу выбрать файл с компьютера для сервера загрузки, но не знаю, как это сделать?
1 ответ
Решение
Я написал подробный ответ здесь о доступе к файлу и читать его содержимое. Для тебя это может быть хорошим началом.
Короче говоря
- Создать
FileUploadInputElement
отdart:html
такой пакет.FileUploadInputElement element = FileUploadInputElement()..id = "file_input";
. - Использовать
dart:ui
сplatformViewRegistry.registerViewFactory
метод регистрации вашего элемента.
ui.platformViewRegistry.registerViewFactory("add_input", (int viewId) {
return element;
});
- Использовать
HTMLElementView
виджет, чтобы прикрепить этот элемент к макету вашего веб-приложения.
HtmlElementView(viewType: 'add_input')
- Использовать
FileReader
читать файлы, доступные черезFileUploadInputElement.files
следующим образом.
fileReader.readAsArrayBuffer(element.files[0]);
Ручка
onLoad
а такжеonError
события при необходимости.Нажав кнопку загрузки, обработайте
FileUploadInputElement.files
массив для доступа к файлам и загрузки его на сервер.