如何解决使用 dio 上传图片列表
我在我的 Dio: 2.2.2 应用程序中使用了此代码,它运行良好,但在升级我的 Dio 软件包版本后,我必须使用 MultipartFile
选项。我尝试使用它,但所有数据都可以在没有图像的情况下发送。如何升级此代码以使用最新的 Dio 软件包版本?
旧代码:
Future add(name,desc,address,images) async {
Map ad_data;
await dio
.post("${host}/add",data: FormData.from({
"name": "${name}","desc": "${desc}","address": "${address}","image[]": images
.map((image) =>
UploadFileInfo(File(image.path),basename(image.path)))
.toList(),}),).then((data) {
ad_data = data.data;
});
return ad_data;
}
解决方法
使用下面的更新您的 add 函数...我正在使用 dio: ^4.0.0
。
import 'package:path/path.dart';
Future add(name,desc,address,images) async {
var formData = FormData.fromMap({
'name': name,'desc': desc,'address': address,'files': [
for (var item in images)
{
await MultipartFile.fromFile(item.path,filename: basename(item.path))
}.toList()
],});
await dio.post("${host}/add",data:formData).then((data) {
ad_data = data.data;
});
return ad_data;
}
,
添加内容类型
contentType: MediaType(
"image","${item.path.split(".").last}"),
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。