Я написал подробный ответ здесь о доступе к файлу и чтении его содержимого. Это может быть хорошим началом для вас.
Короче говоря
- Создайте
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
, чтобы получить доступ к файлам и загрузить его. на сервер.