小编典典

如何确定android中文件的MIME类型?

all

假设我有一个完整的文件路径,例如:(/sdcard/tlogo.png)。我想知道它的哑剧类型。

我为它创建了一个函数

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

阅读 83

收藏
2022-06-27

共1个答案

小编典典

首先,您应该考虑调用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;
}
2022-06-27