Closed3
Flutter Webでfile_pickerのpathが使えない問題
ブラウザでは、file_pickerのpath
が使えないらしい。
代わりにbytes
を使う。
Q: How do I access the path on Web?
A: Paths aren't inaccessible from browsers since those provide fake paths. If you want to create a File instance to upload it somewhere, like FireStorage, you can do so with the bytes directly.
https://github.com/miguelpruivo/flutter_file_picker/wiki/FAQ
ファイルの文字列を取得する。
元のコード
FilePickerResult? picResult = await FilePicker.platform.pickFiles(
type: FileType.any,
);
if (picResult != null) {
PlatformFile file = picResult.files.first;
String s = await File(file.path ?? '').readAsString();
}
これでいけた。
FilePickerResult? picResult = await FilePicker.platform.pickFiles(
type: FileType.any,
withData: true //追加
);
if (picResult != null) {
PlatformFile file = picResult.files.first;
String s = utf8.decode(file.bytes!); //変更
}
このスクラップは2022/03/25にクローズされました