首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Drawable中获取PNG的URI返回不带任何文件扩展名的空白文件

可能是因为在获取URI时没有正确指定文件的扩展名。在Android中,Drawable资源是以资源ID的形式存在的,而不是以文件的形式存在。因此,直接从Drawable中获取PNG的URI是不可行的。

要解决这个问题,可以通过以下步骤来获取Drawable资源的URI:

  1. 首先,将Drawable资源转换为Bitmap对象。
  2. 将Bitmap对象保存到本地文件中,可以选择将其保存为PNG格式的文件。
  3. 获取保存后的文件的URI。

下面是一个示例代码:

代码语言:txt
复制
// 获取Drawable资源
Drawable drawable = getResources().getDrawable(R.drawable.your_drawable);

// 将Drawable转换为Bitmap
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();

// 将Bitmap保存到本地文件
File file = new File(getExternalFilesDir(null), "image.png");
try {
    FileOutputStream fos = new FileOutputStream(file);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    fos.flush();
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

// 获取保存后的文件的URI
Uri uri = Uri.fromFile(file);

这样,你就可以从Drawable中获取PNG的URI,并且带有正确的文件扩展名。在实际应用中,你可以根据具体需求选择合适的文件保存路径和文件名。

对于腾讯云相关产品,推荐使用腾讯云对象存储(COS)来存储和管理图片文件。腾讯云对象存储(COS)是一种高可用、高可靠、强安全性的云存储服务,适用于各种场景下的数据存储和传输。你可以通过以下链接了解更多关于腾讯云对象存储(COS)的信息:

腾讯云对象存储(COS)产品介绍:https://cloud.tencent.com/product/cos

希望以上信息能对你有所帮助!如果还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券