【发布时间】:2014-11-26 18:24:52
【问题描述】:
Javascript(Windows 8.1、Firefox)似乎没有 .tar 文件或 .rar 文件的 mime 类型(也许还有其他文件;这是我发现的仅有的两个)。那是怎么回事?有什么我可以用来解决这个问题的吗?我真的希望能够检索这些文件类型的 mime 类型,而无需进行一些奇怪的扩展黑客攻击。
我做了一个小提琴来证明这个问题:http://jsfiddle.net/kungfujoe/jd8h7wvs/
如果您浏览到 .txt、.docx 或许多其他格式,则类型被成功提取。但是,.tar 和 .rar 都不会拉取它们。奇怪,对吧?
(下面的JSFiddle代码)
HTML
<input id='button' type='file' name='file'/>
<div id='out'>Output Goes Here</div>
Javascript(使用 JQuery 2.1.0)
$('#button').unbind('change');
$('#button').bind('change', function () {
if(this.files[0] !== undefined && this.files[0] !== null) {
document.getElementById("out").innerHTML = "Type is " + this.files[0].type.toString();
} else {
throw "Error"
}
});
谢谢
编辑
1) 更新问题以反映已在 Windows 8.1 Firefox 上观察到该问题。 Chrome 有 tar 文件的 mime 类型,但没有 rar 文件。
2) 将 jQuery 添加到 Fiddle
【问题讨论】:
-
您没有将 jQuery 添加到您的小提琴中。确认不使用 tar 文件。
-
您使用的是什么操作系统?可能是浏览器委托操作系统来解析 mime 类型,或者浏览器配置中该文件扩展名与其 mime 类型之间没有关联。尝试配置您的浏览器以了解哪个外部程序应该打开 .tar 或 .rar。也许这会有所帮助?
-
对于 rar 和 tar 没问题,它返回:MacOs/Chrome 上的类型是 application/x-rar(或 x-tar)。你在哪个操作系统/浏览器上测试它?
-
我添加了一个用 tar cvf whatever.tar file.jpg 创建的 tar 文件,它似乎飞起来了,列出类型为“类型是应用程序/x-tar”和“类型是应用程序/x-rar -compressed” 机智命令 rar awhatever.rar pathe/to/image.jpg。 OSX/铬。我们可以更新操作系统类型、浏览器吗?我已经在单台电脑Chrome、Firefox和Safari上测试成功
-
MacOs/Firefox 相同。
标签: javascript jquery mime-types