私が直面している主な問題はこれです(Webプラットフォーム上)。
私はAndroidとFlutterでWebプラットフォーム)のためのアプリを開発しています。ファイルをアップロードすること(QRコードの画像)がQR_CODE_TOOLSプラグインを使用する必要があります。このようなファイルパス
resultDecodeStr = await QrCodeToolsPlugin.decodeFrom(path);
_
これにより、イメージファイルをアップロードする方法(Webプラットフォーム上):
Future<File> pickFile() async {
final Map<String, dynamic> data = {};
final FileUploadInputElement input = FileUploadInputElement();
input..accept = 'image/*';
input.click();
await input.onChange.first;
if (input.files.isEmpty) return null;
return input.files[0];
}
_
返されたファイルオブジェクトには、空のプロパティ "recondialpath"があります。
On Android私は似ていますが、パスがありますが、そうでない場合は、tempディレクトリ(path_providerを使って)を取得し、新しいファイルを作成することができます(dart.io) 。しかし、これはWebでは不可能です。両方のプラグイン(PATH_PROVIDERとDART IO)に互換性がない...
私はいくつかの助けに感謝してください...
あなたが提供した図書館を使って、あなたが望むものをすることが可能であるようには見えません。 Webへのファイルのアップロードは、DART:IOファイルとは異なる制限/プロパティを持つDART:HTMLファイルのコピーを取得するため、デバイスとは異なります。そのライブラリを見て、Bytesからのデコードをサポートしているようには見えません(パスからのみ)、ブラウザのセキュリティが機能する方法のためにできません(ファイルシステムにアクセスできない、 しかし、これが将来 にある可能性があります。ブラウザで機能するには、バイトからのデコードを許可する必要があります(Dart:HTMLファイルのバイトを読むことができるため)。関連項目: ローカルファイルのJavaScript
その結果、ライブラリをフォークする必要があり、あなた自身のバイトのデコーダを作るか、Webサポートのために別のライブラリを使用してください。