相册的Uri转path
Uri uri = data.getData();//相机的uri
HeaderPic.setImageURI(uri);
String[] arr = {MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(uri, arr, null, null, null);
int columnIndexOrThrow = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String string = cursor.getString(columnIndexOrThrow);
file文件转 MultipartBody.Part
MultipartBody.Part 是网络接口需要的参数
代码:
public MultipartBody.Part upHeader(String path) {
File file = new File(path);//path转file文件
if (file != null && file.exists()) {
//MdiaTypa.parse是指要传递的数据的媒体类型
/*multipart/form-data enctyp的编码类型
MultipartBody.FORM 的内部就是(multipart/form-data)*/
MediaType mediaType = MediaType.parse("multipart/form-data");
RequestBody body = RequestBody.create(mediaType, file);
MultipartBody.Part part = MultipartBody.Part.createFormData("image", file.getName(), body);
return part;
} else {
Toast.makeText(App.sContext, "未选中图片", Toast.LENGTH_SHORT).show();
}
return null;
}