gpt4 book ai didi

java - 当用户从图库上传图像时获取图像的 Uri,而不保存重复项

转载 作者:行者123 更新时间:2023-12-02 04:38:58 26 4
gpt4 key购买 nike

我想允许用户将图像从他们的图库上传到我的应用程序,然后我将他们的 uri 保存在我的数据库中以跟踪上传情况。现在我正在从上传的图像中获取 Uri,如此答案中引用的:

Get file path of image on Android

这个答案的问题是它需要再次保存图像。

字符串路径 = MediaStore.Images.Media.insertImage(context, img, "title, null);

我不想在用户图库中创建重复的图像,但我需要从他们上传的图像中获取 Uri。有什么建议吗?

我现在用来获取图像 Uri 的代码:

Uri selectedImage = data.getData();
Log.d(TAG, "Imediate Uri: " + selectedImage);
Bitmap bitmap = null;
try {
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
Uri tempUri = getImageUri(getApplicationContext(), bitmap);

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);
}

最佳答案

我建议将图像发布到存储桶,例如 Amazon S3、Firebase Storage/Google Cloud Storage。这将生成一个 URI/URL,您可以将该 URI 发布到您的数据库。

我不确定这是否完全回答了您的问题,但我希望我能为您指出一个好的方向。

P.S.:大多数存储解决方案还具有内置 API,因此您没有义务将 URI 发布到数据库。

关于java - 当用户从图库上传图像时获取图像的 Uri,而不保存重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56530202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com