颤振如何在dio中上传具有内容类型的文件

时间:2020-04-17 19:33:14

标签: flutter dio

你好,我尝试使用dio包上传图像,但是我必须为图像设置contentType,但是在设置MediaType ====>时,我无法对其进行设置并得到此错误“ AnalyzeData”。

这是我的代码

 Dio dio = new Dio();
 dio.options.headers = {
  'token': token,
 };


try {
  String ip = await getServerIP();
  FormData formData = new FormData.fromMap({
     "front":front==null?null:  MultipartFile.fromFileSync(
      front,
      filename: "image.png",
      contentType: MediaType()  <=== get error in this line
    ),
 }
 );
  response = await dio.post("$url", data: formData);

我该如何解决 我使用的是Dio软件包的最新版本

2 个答案:

答案 0 :(得分:5)

您应该使用type和subtype定义这样的contentType:

contentType:MediaType(类型,子类型)

//示例MediaType('image','png')

还要注意MediaType来自不同的库,因此您应该使用包http_parser来使用它...

答案 1 :(得分:1)

只需添加lib http_parser即可将MediaType()Dio一起使用