1. 单张图片上传
开发中,对于单张图片上传,除过传递后台需要的一些参数外,还需要传递file,这里的file就是自己创建的临时文件,比如创建一个当前系统时间为名称的文件,代码如下:
/**
* 头像上传服务器
*/
private void UpLoadImage() {
OkHttpUtils.post()
.url(CommonUrl.UPLOAD_IMG)
.addHeader("ver" , VersionUpdateUtils.getVersionCode(BaseApplication.getContext())+"")
.addHeader("token" , PrefUtils.getString(BaseApplication.getContext() , "myToken" , ""))
.addParams("filename" , PrefUtils.getString(UserInfoActivity.this , "myName" , ""))
.addFile("file", getPhotoFileName(), tempFile) //
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
showErrorDialog(e.getMessage()) ;
}
@Override
public void onResponse(String response, int id) {
Log.e("TAG" , "上传头像:"+response) ;
UploadImgBean imgBean = new Gson().fromJson(response , UploadImgBean.class) ;
if (imgBean != null){
if (!TextUtils.isEmpty(imgBean.getCode())&&imgBean.getCode().equals("0")){
ToastUtils.showMyToast(UserInfoActivity.this,ToastUtils.OPTION_SUCCESS,"头像上传成功");
String path = imgBean.getData().getPath();
image = path ;
}else{
ToastUtils.showMyToast(UserInfoActivity.this,ToastUtils.OPTION_FAIL,imgBean.getMsg());
}
}else{
ToastUtils.showMyToast(UserInfoActivity.this , ToastUtils.OPTION_FAIL, "服务器返回错误!");
}
}
});
}
网友评论