Flutter POST “File” 数据类型到 dio body 中的 API

Flutter POST "File" datatype to API in dio body

提问人:SenjaKids 提问时间:11/18/2023 最后编辑:Brian Tompsett - 汤莱恩SenjaKids 更新时间:11/18/2023 访问量:26

问:

我想将“文件”类型的数据发布到 API。API 接收 File 数据类型。我正在像下面的代码一样使用 dio,但每次我发送 API Post 请求时,它都会在文件类型上给我错误。它说:

“JsonUnsupportedObjectError(将对象转换为可编码对象失败:'_File'的实例)”。

谁能向我解释一下并告诉我如何发布文件类型?

顺便说一句,我已经尝试使用MultipartFile,但它给了我另一个错误:)

Map body;
body = {
  'name': updateUserProfileBody.name,
  'image': updateUserProfileBody.image != null
      ? updateUserProfileBody.image!
      : null,
};

final response = await dio.post(
  MYAPILINK,
  data: jsonEncode(body),
  options: Options(
      headers: {
        'Accept': 'application/json',
        'Authorization': 'Bearer $accessToken',
      },
      followRedirects: false,
      validateStatus: (status) {
        return status! < 500;
      }),
);
安卓 iOS Flutter 飞镖

评论

0赞 Csisanyi 11/18/2023
尝试将图像编码为 base64 字符串,以便将其添加到 JSON 对象
0赞 Csisanyi 11/18/2023
您的问题是,您正在尝试将二进制数据添加到JSON对象

答: 暂无答案