如何上传图像在Android中使用改装使用多部分实体

时间:2018-03-31 11:49:39

标签: android retrofit

我可以使用邮递员上传图片:

enter image description here

但是当我尝试使用多部分实体使用改造我无法上传它告诉文件在服务器中找不到下面是我的代码:

public void visitrecord_existingtask(int userId, String companyId, String taskId, String actionTaken, String timeSpend, double lat, double longi, ArrayList<String> filePaths) {
        MultipartBody.Builder builder = new MultipartBody.Builder();
        builder.setType(MultipartBody.FORM);
        builder.addFormDataPart("userid", String.valueOf(userId));
        builder.addFormDataPart("companyid", companyId);
        builder.addFormDataPart("taskid", taskId);
        builder.addFormDataPart("task_actiontaken", actionTaken);
        builder.addFormDataPart("timespent", timeSpend);
        builder.addFormDataPart("latitude", String.valueOf(lat));
        builder.addFormDataPart("longitude", String.valueOf(longi));
        for (int i = 0; i < filePaths.size(); i++) {
            File file = new File(filePaths.get(i));
            builder.addFormDataPart("files", file.getName(), RequestBody.create(MediaType.parse("multipart/form-data"), file));
        }
        MultipartBody requestBody = builder.build();
        Call<VisitrecordExistingtask> call = webAPIInterface.visitrecordExistingtask(requestBody);
        call.enqueue(new Callback<VisitrecordExistingtask>() {
            @Override
            public void onResponse(Call<VisitrecordExistingtask> call, Response<VisitrecordExistingtask> response) {
                visitrecordlistner.showLoginResult(response.code(), response.body());
            }

            @Override
            public void onFailure(Call<VisitrecordExistingtask> call, Throwable t) {
                visitrecordlistner.showError(t);
            }
        });

    }

这是我的代码,我使用文件上传到服务器我必须发送soem参数加上图像文件到服务器,但它无法在服务器中找到图像可以任何人请建议我我做错了。

0 个答案:

没有答案