我正在尝试使用 MultipartFile 发送图像列表,发送是根据每个图像的 id 和密钥完成的......
问题,我被告知:未处理的异常:类型'_InternalLinkedHashMap<String,动态>'不是'int'类型的子类型
但不清楚,因为我的歌曲中没有使用任何 int ......
这是我的代码:
sendPostImages(List responseImages, List userImages) async {
final _path = "files/send";
final uri = Uri.https("$myImgPath", _path);
final imageUploadRequest = http.MultipartRequest('POST', uri);
List imgs = [];
var filePostImg;
for (final item in responseImages) {
imgs.add({
...responseImages[item],
"name": "f$item",
});
filePostImg =
await http.MultipartFile.fromPath("f$item", userImages[item].path);
final listPostImgs =
await http.MultipartFile.fromPath("files", imgs.toString());
imageUploadRequest.files.add(filePostImg);
imageUploadRequest.files.add(listPostImgs);
try {
final streamedResponse = await imageUploadRequest.send();
final response = await http.Response.fromStream(streamedResponse);
if (response.statusCode != 200) {
final Map<String, dynamic> responseData = jsonDecode(response.body);
print('''
erreur de l'envoi des images...
$responseData
''');
}
final Map<String, dynamic> responseData = jsonDecode(response.body);
print(
'''
$responseData
''',
);
} catch (e) {
print(e);
}
}
}
API文档:
// When sending several files
"files": ["Object[]", [
// For each file
{
"fid": "String",
"fkey": "String",
"name": "String" // Custom name that you choose
}
]],
// For each file
"f01": "File" // The field's name must be the same as in the "files" object
},