如何使用 Dio 在 Flutter 中上传多个 images/files?

How to upload multiple images/files in Flutter using Dio?

我一直在尝试将多个 images/files 上传到 Flutter 的后端。我正在使用 Dio。 到目前为止,我还没有做到。

我已经能够使用邮递员这样做了。这是表单数据

这是我的代码:

    Future<dynamic> fileUpload(List<String> filepath, String url) async {
    var token = await storage.getToken();
    var idToken = await storage.getIdToken();
    Dio dio = Dio();

    List uploadList = [];
    for (var file in filepath) {
      var multipartFile = await MultipartFile.fromFile(
        file
      );
      uploadList.add(multipartFile);
    }

    FormData formData = FormData.fromMap({"assignment": uploadList});
     var response = await dio.post(APIURL.baseUrl + url,
        data: formData,
        options: Options(headers: {
          HttpHeaders.authorizationHeader: "Bearer $token",
          'idToken': idToken,
        }));
    return response;
  }

有人可以帮忙吗。

原来有两种方法可以将多个文件添加到 FormData。以下方法有效

var formData = FormData();
for (var file in filepath) {
  formData.files.addAll([
  MapEntry("assignment", await MultipartFile.fromFile(file)),
]);
}

这也有效:

var formData = FormData();
for (var file in filepath) {
  formData.files.add(MapEntry("assignment", 
  MultipartFile.fromFileSync(file)));
}