gpt4 book ai didi

flutter - 如何在 Flutter for Web 中使用 FileUploadInputElement 上传特定类型的文件

转载 作者:行者123 更新时间:2023-12-03 02:44:59 26 4
gpt4 key购买 nike

我试图为 Flutter 中的项目创建一个简单的文件 uploader ,旨在将图像上传到 Firebase 存储桶,但我找不到选择文件类型的方法。

我已阅读 not-so-exhaustive documentation of Dart ,但我没有找到与我正在尝试做的类似的事情。

  static Future<Uri> showUploadDialog(
firebase.StorageReference filePath, String fileName) async {
Completer completer = Completer();

InputElement uploadInput = FileUploadInputElement();
uploadInput.click();

uploadInput.onChange.listen(
(changeEvent) {
final file = uploadInput.files.first;
final reader = FileReader();

reader.onLoadEnd.listen(
(loadEndEvent) async {
debugPrint("Selected the file to be uploaded.");

// Here we handle the file.
completer.complete(uploadFile(file, filePath, fileName));
},
);

reader.readAsDataUrl(file);
},
);

return await completer.future;
}

我的目标是能够看到一个 FileUploadInputElement,它不允许我上传与图像文件不同的文件(具有特定于图像的扩展名)。

最佳答案

你需要设置元素的accept属性(在模拟点击之前)。

例如,为了只接受 png 和 jpg 文件,您需要将其设置为 .png,.jpg :

InputElement uploadInput = FileUploadInputElement();
uploadInput.accept = '.png,.jpg'
uploadInput.click();

accept 属性的语法是为 HTML 输入 accept 属性指定的语法: <input accept="file_extension|audio/*|video/*|image/*|media_type">

更多细节可以在网上找到,比如w3schools :

关于flutter - 如何在 Flutter for Web 中使用 FileUploadInputElement 上传特定类型的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57544325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com