我得到MIME類型的文件的MIME類型:如何得到一個文件,該文件已經在文件名中使用下面的代碼點在Android
private String getMimeType(String url) {
String type = null;
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
Log.e("extension ", extension);
if (extension != null) {
MimeTypeMap mime = MimeTypeMap.getSingleton();
type = mime.getMimeTypeFromExtension(extension);
}
return type;
}
where url is the absolute file path
i am getting file and folder by the following way
File file_arr [];
file_arr = new File(Environment.getExternalStorageDirectory().getPath()).listFiles();
url = file_arr[i].getAbsolutePath();
這是工作正確的,但它返回總是空爲其文件名中包含點「。」。
對於示例
如果文件名是picture1.jpg則getMimeType()返回圖像/ JPEG
在文件名的情況下,具有點(。)在它的名字爲例27-05-2012 22.05.14.jpg然後getMimeType()返回null。
我已將文件重命名爲27-05-2012.jpg,它的返回圖像/ jpeg。
我的問題如何讓所有類型的文件名(這是有點或特殊字符)在Android上的MIME類型?請幫幫我。
當文件名中有點時,MimeTypeMap.getFileExtensionFromUrl(url)返回的值是什麼?如果第一個點的所有內容都嘗試自己解析擴展。 – 2012-07-13 08:12:11
@murali_ma問題是空的空間,如果你消除它將工作。 – Venky 2012-07-13 08:14:01