开发者社区> 问答> 正文

改造图片上传无法处理的实体错误

我正在上传带有翻新式api的图片。我在邮递员中获得成功,但在代码中出现以下错误:

响应{协议= http / 1.1,代码= 422,消息=不可处理的实体,URL = http://upload-snack.13.251.251.232.nip.io/upload }

邮递员:

在此处输入图片说明

改造代码:

要求:

@Multipart @POST("upload") Call uploadImage(@Part MultipartBody.Part image); 介面

public static Retrofit getRetrofitClient(Context context, String baseURL) {
        if (retrofit == null) {
            OkHttpClient okHttpClient = new OkHttpClient.Builder()
                    .build();
            retrofit = new Retrofit.Builder()
                    .baseUrl(baseURL)
                    .client(okHttpClient)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }

活动课程代码:

private void uploadToServer(String filePath) {
        Retrofit retrofit = ServiceGenerator.getRetrofitClient(this, "http://upload-snack.13.251.251.232.nip.io/");
        Api uploadAPIs = retrofit.create(Api.class);
        //Create a file object using file path
        File file = new File(filePath);
        // Create a request body with file and image media type
        RequestBody fileReqBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
        // Create MultipartBody.Part using file request-body,file name and part name
        MultipartBody.Part part = MultipartBody.Part.createFormData("image", file.getName(), fileReqBody);
        //Create request body with text description and text media type
       // RequestBody description = RequestBody.create(MediaType.parse("text/plain"), "image-type");
        //
        Call call = uploadAPIs.uploadImage(part);
        call.enqueue(new Callback() {
            @Override
            public void onResponse(Call call, Response response) {
                Log.e("response", response.toString());
            }

            @Override
            public void onFailure(Call call, Throwable t) {
                Log.e("failure", "failure");
            }
        });
    }

我已经检查了以下教程/答案,但没有任何效果:

https://android.jlelse.eu/working-with-retrofit-825d30348fe2 https://inducesmile.com/android/android-upload-image-to-server-using-retrofit-2/ 使用分段改造2上传图像 使用改造将图像上传到服务器 https://www.simplifiedcoding.net/retrofit-upload-file-tutorial/ https://www.journaldev.com/23738/android-multipart-image-upload-progress-retrofit-nodejs 使用改造上传图像 如何在Retrofit 2中上传图像文件 改造2多部分图像上传数据 使用Retrofit 2.0的POST多部分表单数据,包括图像 改造将多个图像上传到一个按键 还有很多.....

但仍然无法正常工作。请帮忙

展开
收起
垚tutu 2019-12-26 21:15:01 1516 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    只能提供思路,检查下提交请求中实体的序列化

    2019-12-28 13:55:16
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
内容驱动游戏分发 立即下载

相关实验场景

更多