【发布时间】:2014-06-14 06:18:33
【问题描述】:
我正在使用 Titanium HTTP 客户端将 jpg 下载到 applicationDataDirectory。
我将文件名保存为 URL 的 md5 哈希,以便能够通过 URL 进行简单的缓存。
但是,如果我保存没有扩展名的文件,例如。就像我跑步时 sf98isdi8j3k34k3kj34k no .jpg 一样
var file = Ti.Filesystem.getFile( filePath );
var mimeType = file.blob.getMimeType();
它返回"application/octet-stream"
这是因为Mimetypes.m包含以下代码
+ (NSString *)mimeTypeForExtension:(NSString *)ext
{
[Mimetypes initialize];
NSString *result=[mimeTypeFromExtensionDict objectForKey:[[ext pathExtension] lowercaseString]];
if (result == nil){
result = @"application/octet-stream";
}
return result;
}
它完全依赖于扩展名,因此您可以更改文件扩展名并导致问题。
我将如何根据文件的原始数据检查 mime 类型,而不是钛合金中的文件扩展名 - 特别是 iOS
谢谢
【问题讨论】:
标签: ios titanium mime-types