亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何確定android中的MIME類型?

如何確定android中的MIME類型?

神不在的星期二 2019-08-12 10:17:25
如何確定android中的MIME類型?假設我有一個完整的文件路徑,如:(/ sdcard / tlogo.png)。我想知道它的mime類型。我為它創建了一個函數public static String getMimeType(File file, Context context)    {     Uri uri = Uri.fromFile(file);     ContentResolver cR = context.getContentResolver();     MimeTypeMap mime = MimeTypeMap.getSingleton();     String type = mime.getExtensionFromMimeType(cR.getType(uri));     return type;}但是當我調用它時,它返回null。File file = new File(filePath);String fileType=CommonFunctions.getMimeType(file, context);
查看完整描述

3 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

首先,您應該考慮調用MimeTypeMap#getMimeTypeFromExtension(),如下所示:

// url = file path or whatever suitable URL you want.
public static String getMimeType(String url) {
    String type = null;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if (extension != null) {
        type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
    }
    return type;}


查看完整回答
反對 回復 2019-08-12
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

檢測任何文件的mime類型

public String getMimeType(Uri uri) {           
    String mimeType = null;
    if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
        ContentResolver cr = getAppContext().getContentResolver();
        mimeType = cr.getType(uri);
    } else {
        String fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri                .toString());
        mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
                fileExtension.toLowerCase());
    }
    return mimeType;}


查看完整回答
反對 回復 2019-08-12
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

上面的MimeTypeMap解決方案在我的使用中返回null。這很有效,而且更容易:

Uri uri = Uri.fromFile(file);ContentResolver cR = context.getContentResolver();String mime = cR.getType(uri);


查看完整回答
反對 回復 2019-08-12
  • 3 回答
  • 0 關注
  • 717 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號