从 imageviews 获取捕获图像的路径并上传到服务器
Getting path of captured image from imageviews and upload to server
我的屏幕上有四个图像视图,并从相机捕获图像并显示在其中,现在我想将这些图像上传到服务器。所以我使用下面的代码来获取这些路径,但它是通过异常。是否有可能将图像从相机捕获的图像视图上传到服务器(不将图像存储到内存中)。
if (requestCode == 1&& resultCode == RESULT_OK)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
purchase_Img_1.setImageBitmap(photo);
Uri tempUri = getImageUri(getApplicationContext(), photo);
File finalFile = new File(getRealPathFromURI(tempUri));
}
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
public String getRealPathFromURI(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
return cursor.getString(idx);
}
删除大部分代码。使用 compress()
将 Bitmap
保存到文件中。现在您知道文件在哪里并且可以将其用于您的服务器上传过程。
Getting path of captured image from imageviews
没有路径。没有路径。您获得了位图并将它们放置在视图中。
Uri tempUri = getImageUri(getApplicationContext(), photo);
此处您使用 MediaStore 存储了位图。你得到了一个 uri。
您可以为该 uri 打开一个输入流,从中读取并上传字节。
但是通过使用 MediaStore,您可以将位图保存到文件中。如果您不想这样做,最好将位图压缩为 ByteArrayOutputStream 并上传生成的字节数组。
我的屏幕上有四个图像视图,并从相机捕获图像并显示在其中,现在我想将这些图像上传到服务器。所以我使用下面的代码来获取这些路径,但它是通过异常。是否有可能将图像从相机捕获的图像视图上传到服务器(不将图像存储到内存中)。
if (requestCode == 1&& resultCode == RESULT_OK)
{
Bitmap photo = (Bitmap) data.getExtras().get("data");
purchase_Img_1.setImageBitmap(photo);
Uri tempUri = getImageUri(getApplicationContext(), photo);
File finalFile = new File(getRealPathFromURI(tempUri));
}
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
public String getRealPathFromURI(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
return cursor.getString(idx);
}
删除大部分代码。使用 compress()
将 Bitmap
保存到文件中。现在您知道文件在哪里并且可以将其用于您的服务器上传过程。
Getting path of captured image from imageviews
没有路径。没有路径。您获得了位图并将它们放置在视图中。
Uri tempUri = getImageUri(getApplicationContext(), photo);
此处您使用 MediaStore 存储了位图。你得到了一个 uri。
您可以为该 uri 打开一个输入流,从中读取并上传字节。
但是通过使用 MediaStore,您可以将位图保存到文件中。如果您不想这样做,最好将位图压缩为 ByteArrayOutputStream 并上传生成的字节数组。