因此,我使用Reformation将图像上传到我们的服务器,并使用gallery chooser选择图像。我试图获取图像的路径,因为uri。getPath()返回未找到的文件作为异常。我几乎看过关于这个主题的每一篇stackoverflow文章,但仍然没有答案。下面的代码与我在网上看到的所有代码都类似,它总是返回null,我不知道为什么。请帮忙
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
try {
android.net.Uri selectedImage = data.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImage);
// Log.d(TAG, String.valueOf(bitmap));
ImageView imageView = (ImageView) findViewById(R.id.expandedProfilePic);
imageView.setImageBitmap(bitmap);
String[] filePathColumn = {MediaStore.Images.Media.DATA};
android.database.Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
if (cursor == null)
return;
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
// is always null
System.out.println("FILE PATH " + filePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
我试图获取图像的路径,因为uri。getPath()返回未找到的文件异常
假设您所说的“图库选择器”是指< code>ACTION_GET_CONTENT或者可能是< code>ACTION_PICK,那么就没有路径,因为< code>Uri不是一个文件。
我几乎看过所有关于这个主题的Stackoverflow文章
不,你没有。具体来说,你没有读过我贡献的几十篇文章中的任何一篇,比如这篇或这篇或这篇或这篇或这篇或这篇或这篇或这篇。这些都是2017年的。
我拥有的以下代码类似于我在网上看到的所有内容
并且该代码不适用于大多数Uri
值。
使用 ContentResolver
和 openInputStream()
获取有关 Uri
标识的内容的 InputStream
。理想情况下,您只需使用输入流
。在改造的情况下,虽然我没有尝试用它上传内容,但我的猜测是它坚持使用文件。在这种情况下,请在您控制的某些文件上使用 InputStream
和 FileOutputStream
来制作内容的副本。然后,上传副本,完成后将其删除。
如何获取相机捕获的原始图像的路径或uri。当我使用下面的代码时,它会返回google文档中提到的原始图像的缩略图。我想要原始图像的路径或uri。 我使用了以下代码,但它返回一个缩略图。
我想通过打开一个文件来获得一个文件路径,该文件选择由start ActivityForResult,其意图是意图。ACTION_GET_CONTENT和setType(* / *), 但是当我选择打开“Nexus 5X”项时,返回uri是“com.android.externalstorage.documents”,如何处理这种类型uri。有一些代码。 截图
问题内容: 我输入的是一个字符串。如何获得最后的路径段(在我的情况下是id)? 这是我的输入URL: 我必须获得我尝试过的ID: 但这是行不通的,并且肯定有更好的方法可以做到这一点。 问题答案: 是您要寻找的: 或者
我想从URI中获得完整的文件路径。URI不是图像,而是音乐文件,但如果我像纵隔解决方案那样做,如果应用程序用户选择eg Astro作为浏览器,而不是音乐播放器,它就不会工作。我怎么解决这个?
问题内容: 方法request.getRequestURI()返回带有上下文路径的URI。 例如,如果一个应用程序的基本网址(即上下文路径是 MYAPP ),和我打电话了,它将返回。 有什么办法可以让我们只获得这部分,即没有上下文路径的URI? 问题答案: 如果您位于映射在前缀模式上的前contoller servlet内,则可以使用。 假设您的示例中的servlet映射到,则将返回该值,这将是典