0
为了从我的android应用程序发送图像到服务器,我必须得到MIME类型的图像(或至少,其扩展名)。获取MIME类型的内容方案
我从ACTION_GET_CONTENT
的意图中得到图像。某些应用程序(如Dropbox)发送file://
方案数据,因此我可以使用MimeTypeMap.getFileExtensionFromUrl()
来猜测扩展程序,但其他一些应用程序(例如Google Drive)会发送content://
方案,但不允许这样做。
我试过很多东西张贴在这里,这样才:
AssetFileDescriptor asset = getContentResolver().openAssetFileDescriptor(getIntent().getData(), "r");
FileInputStream stream = asset.createInputStream();
String mime = URLConnection.guessContentTypeFromStream(stream); // returns null
,我认为是对资产解码成位图的唯一解决方法,然后生成(使用Bitmap.compress()
)的新压缩图像,但它会为手机增加一些工作,并且可能会改变原始图像的格式/质量,所以只有在没有其他解决方案的情况下才能保留它。
有没有人有关于我的问题的想法?非常感谢你的帮助;)