首页 > 解决方案 > 将图像/文件上传到服务器时使用 MultipartBody.Builder 的问题

问题描述

日志错误

private void Save_Gallery_Image() {

    rest.ShowDialogue(getResources().getString(R.string.pleaseWait));

    ApiInterface apiInterface = ApiClient.getClient().create(ApiInterface.class);

    MultipartBody.Builder builder = ApiClient.createmultipartbuilder(new String[]{"tid"},
            new String[]{Config.getUserid()},new String[]{"images[]"}, listOfImages);

    Call<ResponseBody> call = apiInterface.uploadImage(builder.build());
    call.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            rest.dismissProgressdialog();
            try {
                if (response.body() != null) {
                    Save_Gall_responce(response.body().string());

                }
                else {

                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            onApiFailure(call, t);
        }
    });

}

使用 apiInterface 和 MultipartBody.Builder 将图像/文件上传到服务器时,我在 logcat 中遇到错误。下面是接口代码

 @Multipart
@POST("save-gallery")
Call<ResponseBody> uploadImage(@Part MultipartBody image);

标签: javaandroidimageapi

解决方案


该异常意味着在您的情况下需要变量名称,如下所示:

Call<ResponseBody> uploadImage(@Part("Image") MultipartBody image);

推荐阅读