【发布时间】:2021-04-20 09:52:52
【问题描述】:
我有自定义数据:
File avatar = File('path/to/file');
Map<String, dynamic> data = {
'name': 'John',
'avatar': avatar
}
如何将我的数据作为 FormData 对象发送到服务器?
我尝试通过循环数据来创建MultipartFile 类的对象,但在我的情况下,将文件路径作为文件的字符串实例发送。这是我的代码:
data.forEach((key, value) {
if (value is File) {
String fileName = value.path.split('/').last;
data.update(key, (value) async {
return await MultipartFile.fromFile(value.path, filename: fileName);
});
}
});
FormData formData = FormData.fromMap(data);
var response = await dio.post("/send", data: formData);
但是使用Dio 我可以上传类似这样的文件:
FormData formData = FormData.fromMap({
"name": "wendux",
"age": 25,
"file": await MultipartFile.fromFile(file.path,filename: fileName)
});
为什么我不能将MultipartFile 动态添加到我的Map 中?
【问题讨论】:
标签: flutter dart multipartform-data dio