flutter 如何在 dio 中上传内容类型的文件

flutter how to upload file with content type in dio

你好,我尝试使用 dio 包上传图像,但我必须为图像设置 contentType,但我无法设置它,并且在设置 MediaType 时出现此错误 ====> 方法 '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 包

你应该像这样用类型和子类型定义 contentType:

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

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

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

只需添加库 http_parser 即可将 MediaType()Dio

一起使用

导入给定的包

import 'package:http_parser/http_parser.dart';

对我有用