使用 dio formdata 上传图像颤动网络

Posted

技术标签:

【中文标题】使用 dio formdata 上传图像颤动网络【英文标题】:Upload image flutter web with dio formdata 【发布时间】:2021-08-17 16:31:36 【问题描述】:

我正在尝试使用 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,
    );
  

【问题讨论】:

【参考方案1】:

好的,我找到了,留给遇到同样问题的人

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,
    );
  

【讨论】:

以上是关于使用 dio formdata 上传图像颤动网络的主要内容,如果未能解决你的问题,请参考以下文章

Django:如何从颤动中读取使用 Dio 发送的图像

使用 dio 包上传图片失败

Flutter--网络请求dio封装网络请求框架

Flutter 之网络请求Dio, FormData, 表单网络请求, x-www-form-urlencoded

Flutter实现网络请求

将图像/文件上传到 Strapi (Flutter Web)