为什么Dio with Flutter不使用json头发布具有值的文件

gwbalxhn  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(115)

我是Flutter的新手
我试图通过json格式的数据和文件在同一个请求使用dio框架。下面是我使用的代码,我做错了什么吗?

return FormData.fromMap({
      'value1' : value.value1(),
      'value2' : value.value2(),
      "attachments": [
        await MultipartFile.fromFile(fileImage.path,
            filename: "storeName.jpeg")
      ]
    });
  }

static Future<bool> createStore(File fileImage, StoreDetails store) async{
    bool isDone = false;
    var dio = Dio();

    dio.options.baseUrl = UrlHelper.BASE_CORE_URL;
    dio.options.headers['Authorization'] = 'Bearer '+ token;
    dio.options.headers['Content-Type'] = 'application/json';

    Response response;

    try{
      response = await dio.post(

        'Url',
        data: await formData(fileImage, values),
        onSendProgress: (received, total) {
          if (total != -1) {
            print((received / total * 100).toStringAsFixed(0) + "%");
          }
        },
      );
      print(response.data);
      return true;
    }catch(e){
      print(e.toString());
      return true;
    }

  }

如何在Postman

上发布数据

我得到这个错误DioError [DioErrorType.RESPONSE]:HTTP状态错误[415]我可以从Postman成功发布图像和JSON对象。

70gysomp

70gysomp1#

HTTP Error 415表示您正在发送的负载不受支持。您尝试使用Postman发布的内容只是文本。可能的原因是您使用的端点不支持接收您试图发送的图像文件。

相关问题