В моем приложении я использую image_picker и image_picker_web, но он выдает исключение No podspec found for 'image_picker_web' in '.symlinks/plugins/image_picker_web/ios'
при работе на iOS. Поэтому я решил не использовать его и выбрать файл, как в принятом здесь решении Как выбрать файлы и изображения для загрузки с помощью flutter web . Печать для выбранного файла верна, но мой метод возвращает значение null, я думаю, он возвращает переменную до того, как ей будет присвоено значение. Я не знаю html, так что я немного заблудился ... Что я делаю не так, возвращая выбранное значение?
FileReader reader = FileReader();
InputElement uploadInput = FileUploadInputElement();
Future<Uint8List> pickImage() async {
print('FirebaseImageStorageRepositoryWeb. pickImage() started');
// image_picker_web works on web but creates pod problems on iOS
// Uint8List imageData;
// String fileName;
// await picker.getImage(source: ImageSource.gallery).then((picked) {
// picked.readAsBytes().then((data) {
// imageData = data;
// });
// });
// image_picker // notworking on web...
//html
Uint8List imageData;
InputElement uploadInput = FileUploadInputElement();
uploadInput.click();
uploadInput.onChange.listen((e) {
// read file content as dataURL
final files = uploadInput.files;
if (files.length == 1) {
final file = files[0];
print(
'selected file: type:${file.type},name: ${file.name}, size: ${file.size}');
reader.onLoadEnd.listen((e) {
imageData = reader.result;
// return imageData; // not working
});
reader.onError.listen((fileEvent) {
print('Some Error occured while reading the file');
});
reader.readAsArrayBuffer(file);
}
});
return imageData;
}