抖动dio文件上传

时间:2020-03-10 08:44:49

标签: flutter dart dio

我正在尝试使用dio软件包将一些pdf文件发送到服务器,但是没有任何反应。这是我的实现。当我发送请求而不添加文件时,它可以工作。通过邮递员表单数据发送请求也可以。我究竟做错了什么?在之前的尝试中,我尝试等待多部分文件,但效果不佳。我被困已经有一个星期了。帮助将不胜感激。

_sendToServer() async {
    FormData formData = new FormData.fromMap(
      {
      "title": "from app3",
      "description": "app upload test",
      }
    );
    for(int i=0;i<pathNames.length;i++)
    formData.files.add(MapEntry("files", MultipartFile.fromFileSync("${pathNames[i]}",filename: "${fileNames[i]}")));
  Dio dio = Dio(
      BaseOptions(
        contentType: "multipart/form-data",
        headers: {
          "Accept":"application/json",
          "Authorization": "$token",
        },
      ),
    );
    // dio.interceptors.add(
    //     LogInterceptor(requestBody: true, request: true, responseBody: true));
    try {
      var response = await dio.post("http://url/api/files",
          data: formData, onSendProgress: (int send, int total) {
        print((send / total) * 100);
      });
      print(response);
    } on DioError catch (e) {
      if (e.response != null) {
        print(e.response.data);
        print(e.response.headers);
        print(e.response.request);
      } else {
        print(e.request.headers);
        print(e.message);
      }
    }
  }

0 个答案:

没有答案