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

2023-09-12 03:54:43 作者:待你长发及腰蹲坑一定要撩

假如我有一个像文件的完整路径:(/ SD卡/ tlogo.png)。我想知道它的MIME类型。

我创建了一个功能,它

 公共静态字符串getMimeType(档案文件,上下文语境)
{
    开放的我们的uri = Uri.fromFile(文件);
    ContentResolver的CR = context.getContentResolver();
    MimeTypeMap哑剧= MimeTypeMap.getSingleton();
    字符串类型= mime.getExtensionFromMimeType(cR.getType(URI));
    返回类型;
}
 

但是当我调用它,则返回null。

 文件文件=新的文件(文件路径);
字符串的fileType = CommonFunctions.getMimeType(文件,背景);
 

解决方案

首先,你应该考虑调用 MimeTypeMap#getMimeTypeFromExtension(),像这样的:

  // URL =文件路径或任何你想要的合适的URL。
公共静态字符串getMimeType(字符串URL){
    字符串类型= NULL;
    字符串延长= MimeTypeMap.getFileExtensionFromUrl(URL);
    如果(扩展!= NULL){
        类型= MimeTypeMap.getSingleton()getMimeTypeFromExtension(扩展)。
    }
    返回类型;
}
 
让IIS支持Flv的详细设置方法步骤

Suppose I have a full path of file like:(/sdcard/tlogo.png). I want to know its mime type.

I created a function for it

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

but when i call it, it returns null.

File file = new File(filePath);
String fileType=CommonFunctions.getMimeType(file, context);

解决方案

First and foremost, you should consider calling MimeTypeMap#getMimeTypeFromExtension(), like this:

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