我仍在学习 flutter,并且一直在我的项目中遇到问题,如标题中所述的错误。我想使用 dio 和 formData 在 flutter 中上传文件。 img[] 是来自 mongodb 数据库的变量,每当用户传递空图像时我都会出错。 (因为我们不要求用户发送图片。)
这是我的代码。
upload2(List<File> babyList) async {
var formData = FormData.fromMap({
"userId": _id,
"babyname": _baby,
});
if(_babyList.length != 0){
for (int i = 0; i < _babyList.length; i++) {
var fileName = babyList[i].path.split('/').last;
formData.files.addAll([
MapEntry(
"babyimage[]",
await MultipartFile.fromFile(babyList[i].path,
filename: fileName,
contentType: new MediaType(lookupMimeType(fileName).split('/')[0], lookupMimeType(fileName).split('/')[1],
))),
]);
}
} else {
formData.files.addAll([ MapEntry("babyimage[]", null)]);
}
// sending the formdata to the database
AuthService().requestorRegister(formData).then((val) async {
print('Form Submitted Successfully');
_confirmationDialog(context);
});
}
答案 0 :(得分:0)
好的,我试过不在formdata中添加babyimage[],我也试过把空数组、null和babyList作为值。问题是它们可以工作,而在我的情况下唯一的问题是服务器。服务器没有更新。所以有时我们也必须检查服务器。哈哈
附注。我删除了代码中的 else 因为它是空的。