7

您好,我尝试使用 dio 包上传图像,但我必须为图像设置 contentType,但我无法设置它并在设置 MediaType ====> 时出现此错误.

这是我的代码

 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 包

4

3 回答 3

15

您应该使用类型和子类型来定义 contentType:

内容类型:媒体类型(类型,子类型)

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

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

于 2020-04-17T20:25:27.763 回答
8

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

于 2020-10-22T10:48:08.593 回答
1

导入给定的包

import 'package:http_parser/http_parser.dart';

它对我有用

于 2022-01-03T17:39:51.527 回答