簡體   English   中英

使用 dio formdata 上傳圖片 flutter web

[英]Upload image flutter web with dio formdata

我正在嘗試使用 file_picker 和 dio 包將文件作為表單數據上傳。

這是針對 flutter web 的,似乎MultipartFile.fromFile未被接受。

我嘗試的是以下內容:

if (result != null) {    
  for (var file in result.files) {
    final formData = FormData.fromMap({
      ...someOtherData,
      'file': File(file.name), // <------ I guess this is where the issue is, I also tried file instead of File(file.name)
    });
    
    dio.post(
      url,
      data: formData,
    );
  }
}

如果有人仍然想知道如何讓它在移動設備和 web 上工作(這是使用 image_picker 的 PickedFile 作為圖像變量類型):

 FormData body;
 final bytes = await image.readAsBytes();
 final MultipartFile file = MultipartFile.fromBytes(bytes, filename: "picture");
 MapEntry<String, MultipartFile> imageEntry = MapEntry("image", file);
 body.files.add(imageEntry);

** 問題是文件名在 web 上是必需的,在移動設備上是自動分配的。**

好的,我找到了,留給遇到同樣問題的人

if (result != null) {    
  for (var file in result.files) {
    final formData = FormData.fromMap({
      ...someOtherData,
      'file': MultipartFile.fromBytes(file.bytes as List<int>)
    });
    
    dio.post(
      url,
      data: formData,
    );
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM