如何使用dio flutter上传图像列表

4ioopgfo  于 2023-03-31  发布在  Flutter
关注(0)|答案(2)|浏览(183)

我有图像列表。我需要使用dio从服务器上传图像列表。还需要使用MultipartFile上传。在dio中的fromFile。所以,我如何上传它?
'document': await MultipartFile.fromFile(file[index].path),
我尝试这个…

for (int index = 0; index < file.length; index++)
      'document': await MultipartFile.fromFile(file[index].path),


但它不工作.他们只上传一个图像从列表.所以有没有任何其他的方式来上传图像列表从服务器使用dioFlutter?

k5hmc34c

k5hmc34c1#

你可以通过下面的代码试试:

try {
          FormData formData;
          List<dynamic>? documents = [];
          for (int i = 0; i < file.length; i++) {
            String? fileName = file[i]?.path.split('/').last;
            documents.add(await MultipartFile.fromFile(file[i]?.path ?? '', filename: fileName));
          }
          formData = FormData.fromMap({
            'files[]': documents,
          });
          final response = await _dio.post("/medias", data: formData);
          return response.data;
     }
idfiyjo8

idfiyjo82#

在您的上传方法中:

Map<String, dynamic> postData = Map<String, dynamic>();

postData["attachment[]"] = [];

for (File item in file) {
  postData["attachment[]"].add(await MultipartFile.fromFile(file.path, filename: basename(file.path)));
}

final formData = FormData.fromMap(postData);

相关问题