如何在 flutter web 中为上传服务器选择文件?

How to pick file for upload server in flutter web?

我想从电脑中选择一个文件作为上传服务器,但我不知道该怎么做?

我已经写了一个关于访问文件和读取其内容的详细答案。这对你来说可能是一个好的开始。

简而言之

  1. 像这样从 dart:html 包创建一个 FileUploadInputElementFileUploadInputElement element = FileUploadInputElement()..id = "file_input";.
  2. 使用 dart:uiplatformViewRegistry.registerViewFactory 方法注册您的元素。
ui.platformViewRegistry.registerViewFactory("add_input", (int viewId) {
      return element;
    });
  1. 使用 HTMLElementView 小部件将此元素附加到您的网络应用程序布局。

HtmlElementView(viewType: 'add_input')

  1. 使用 FileReader 读取通过 FileUploadInputElement.files 可用的文件,如下所示。

fileReader.readAsArrayBuffer(element.files[0]);

  1. 必要时处理 onLoadonError 事件。

  2. 点击上传按钮,处理 FileUploadInputElement.files 数组以访问文件并将其上传到服务器。