如何在 flutter web 中为上传服务器选择文件?
How to pick file for upload server in flutter web?
我想从电脑中选择一个文件作为上传服务器,但我不知道该怎么做?
我已经写了一个关于访问文件和读取其内容的详细答案。这对你来说可能是一个好的开始。
简而言之
- 像这样从
dart:html
包创建一个 FileUploadInputElement
。 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
数组以访问文件并将其上传到服务器。
我想从电脑中选择一个文件作为上传服务器,但我不知道该怎么做?
我已经写了一个关于访问文件和读取其内容的详细答案
简而言之
- 像这样从
dart:html
包创建一个FileUploadInputElement
。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
数组以访问文件并将其上传到服务器。