post 多部分请求中的 body 中的 Flutter http 发送列表值

Flutter http sending list value in the body in a post multipart request

我正在尝试发送一个多部分 post 请求来上传图片并发送一些其他数据,body 看起来像这样

bodyMap = {
  'type' : 'text',
  'content': [
     {
        'type': image'
        'identifier: '1234'
     }
   ]
};

然而,当我尝试像这样将它添加到请求时

var request = http.MultipartRequest('POST', Uri.parse(url));
request.fields.addAll(bodyMap);

它拒绝添加它,因为它只接受 Map

如何解决这个问题?

我发现 Dio 包允许您 post 具有多部分 post 请求的 Map 类型的地图,例如:

var formData = FormData.fromMap({
  'name': 'wendux',
  'age': 25,
  'file': await MultipartFile.fromFile('./text.txt', filename: 'upload.txt'),
  'files': [
    await MultipartFile.fromFile('./text1.txt', filename: 'text1.txt'),
    await MultipartFile.fromFile('./text2.txt', filename: 'text2.txt'),
  ]
});
var response = await dio.post('/info', data: formData);