我在邮递员中有这些主体,其中图像参数如下所示,并且它支持base64。
这是我的代码:
Future createComment( ..., List<dynamic>? urlImage) async {
List<String> imgList = [];
if (urlImage!.isNotEmpty) {
for (var i in urlImage) {
List<int> imageBytes = File(i).readAsBytesSync();
String base64Image = base64Encode(imageBytes);
imgList.add("data:image/jpeg;base64," + base64Image);
}
}
}
var headers = {
...
};
var url = xxx ;
var response = await http.post(Uri.parse(url), headers: headers, body: {
...
for (var i in imgList) 'canvas_images[]': i,
});
var res = json.decode(response.body);
return res;
}
我尝试使用邮递员,我可以在服务器端获取多个图像。但如果我使用代码运行,我只能得到最后一张图像。这是怎么回事?
尝试下面的代码...
var headers = {
...
};
var url = 'xxx';
var body = {
// other params
};
if (imgList.isNotEmpty) {
for (int i = 0; i < imgList.length; i++) {
body['canvas_images[$i]'] = imgList[i];
}
}
var response = await http.post(Uri.parse(url), headers: headers, body: body);
var res = json.decode(response.body);