【发布时间】:2017-02-20 06:49:52
【问题描述】:
我有一个功能可以像这样使用 Retrofit 请求上传图片
void uploadPhoto(File file) {
RequestBody photo = RequestBody.create(MediaType.parse("application/image"), file);
RequestBody body = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addFormDataPart("photo", file.getName(), photo)
.build();
fragment.showProgressDialog(fragment.loading);
fragment.getApi().uploadPhoto(PrefHelper.getString(PrefKey.TOKEN), body)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Observer<GenericResponse>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
fragment.dismissProgressDialog();
Timber.e(e.getMessage());
}
@Override
public void onNext(GenericResponse response) {
fragment.dismissProgressDialog();
if (response.getCode() == 1) {
fragment.showSuccessDialog("Saving success", false);
userInfo();
}
}
});
}
例如,我有一个按钮可以在我的片段中上传图片
@OnClick(R.id.btnChangePicture)
void onChangePictureClicked() {
}
我应该输入什么代码
OnChangePictureClicked
所以我可以从图库中选择一张图片,然后向 API 请求它。
void uploadPhoto(文件文件)
谢谢
【问题讨论】:
-
那么您在获取图像源或上传到服务器时遇到了问题?
-
我的问题是获取图片来源@TruongHieu
-
您能否提供更多关于您尝试获取的来源的信息?比如画廊或相机之类的......?
-
我想从我的画廊中拍摄一张图片。并从图库中获取该图像以将其上传到服务器@TruongHieu
标签: android retrofit retrofit2