【发布时间】:2018-02-19 16:28:43
【问题描述】:
我正在开发一个应用程序,我需要在服务器上上传图像我无法使用改造在服务器上上传图像我不知道使用相同的代码会出现什么问题我在另一个应用程序中上传图像.以下是我的代码。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_GALLERY_CODE && resultCode == Activity.RESULT_OK){
uri = data.getData();
if(EasyPermissions.hasPermissions(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
String filePath = getRealPathFromURIPath(uri, ProfileActivity.this);
File file = new File(filePath);
iv_user_profile_image.setImageURI(uri);
Log.d(TAG, "Filename " + file.getName());
RequestBody mFile = RequestBody.create(MediaType.parse("image/*"), file);
MultipartBody.Part fileToUpload = MultipartBody.Part.createFormData("file", file.getName(), mFile);
RequestBody filename = RequestBody.create(MediaType.parse("text/plain"), file.getName());
RequestBody uid = RequestBody.create(MediaType.parse("text/plain"), loginStatusModal.getUser_id());
WebClient uploadImage = ServiceGenerators.createService(WebClient.class);
Call<UploadObject> fileUpload = uploadImage.uploadFile(mAuthorizationHeader,fileToUpload/*,uid*/);
String abc = fileUpload.request().url().toString();
fileUpload.enqueue(new Callback<UploadObject>() {
@Override
public void onResponse(Call<UploadObject> call, Response<UploadObject> response) {
Toast.makeText(ProfileActivity.this, "Response " + response.raw().message(), Toast.LENGTH_LONG).show();
Toast.makeText(ProfileActivity.this, "Success " + response.body().getStatus(), Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Call<UploadObject> call, Throwable t) {
Log.d(TAG, "Error " + t.getMessage());
}
});
}else{
EasyPermissions.requestPermissions(this, getString(R.string.read_file), READ_REQUEST_CODE, Manifest.permission.READ_EXTERNAL_STORAGE);
}
}
}
这是我的服务调用代码。每次我运行代码时都会说
Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 1 path $
这条消息来了 以下是我的界面
@Multipart
@POST("/api/uploadimage")
Call<UploadObject> uploadFile(@Header("Authorization") String authorizationHeader,
@Part MultipartBody.Part file);
请告诉我这段代码到底有什么问题 欢迎任何帮助。
【问题讨论】:
标签: android retrofit2 multipart