分段/表单数据上载文件可在邮递员中使用,但在使用okhttp3尝试时给出500

问题描述

我正在尝试使用multipart / form-data上传带有其他2个参数的文件

这是spring boot方法作为参数的方式。此方法位于单独的spring boot应用程序中,该应用程序将文件保存到数据库中。

public String uploadFile(@RequestParam("file") multipartfile file,@RequestParam("desc") String desc,@RequestParam("uploadId") String uploadId ) {...}

在邮递员中,它工作正常,但是在尝试使用okhttp3时,它给出500(内部服务器错误),并且响应为空。我不明白我在哪里做错了 这是我正在尝试的代码

try {          
            MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);

            builder.addFormDataPart("file",file.getName(),RequestBody.create(MediaType.parse("multipart/form-data"),file));
            builder.addFormDataPart("desc",file.getName());
            builder.addFormDataPart("uploadId",receiptId);

            RequestBody requestBody = builder.build();
            Request request = new Request.Builder()
                    .url(ApplicationConstants.URL)
                    .addHeader("Authorization",ApplicationConstants.BEARER + " " + StringBox.getInstance(mActivity).getStringPreference(ApplicationConstants.ACCESS_TOKEN))
                    .post(requestBody).build();
            OkHttpClient client = new OkHttpClient();
            client.newCall(request).enqueue(new okhttp3.Callback() {
}

以下是响应头:

X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache,no-store,max-age=0,must-revalidate
Pragma: no-cache
Expires: 0
x-frame-options: DENY
Content-Type: application/json;charset=UTF-8
transfer-encoding: chunked
Date: Wed,23 Sep 2020 04:55:02 GMT
Connection: close

我什至尝试使用 MediaType.parse("image/jpeg")MediaType.parse("jpeg")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)