2

我一直在尝试将多个图像/文件上传到 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;
  }

有人可以帮忙吗。

4

1 回答 1

10

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

var formData = FormData();
for (var file in filepath) {
  formData.files.addAll([
  MapEntry("assignment", await MultipartFile.fromFile(file)),
]);
}
于 2020-08-05T16:51:05.930 回答