我对android有点陌生,一直在尝试使用翻新2向服务器发送数据。我正在做的是从图库中选择图像并获取其路径,但是我对上载的工作方式了解较少。
我从图库中获取了多个图像uri,并使用此功能获取了它们的路径
public String getImagePath(Uri uri) {
String selectedImagePath;
// 1:MEDIA GALLERY --- query from MediaStore.Images.Media.DATA
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if (cursor != null) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
selectedImagePath = cursor.getString(column_index);
} else {
selectedImagePath = null;
}
if (selectedImagePath == null) {
selectedImagePath = uri.getPath();
}
return selectedImagePath;
}
这给了我这样的路径。
例如:存储/仿真/ 0 /下载/cheque_image.jpeg
我只需要这些路径即可创建文件
File file = new File(getimagepath(uri));
RequestBody requestBody = RequestBody.create(MediaType.parse(getContentResolver().getType(fileUri)), file);
return MultipartBody.Part.createFormData(partName, file.getName(),requestBody);
从路径创建的文件是否足以使用分段上传,还是应该使用uri的inputstream传递到文件内部然后上传。
OutputStream outputStream = new FileOutputStream(file);