在输入文件中获取zip文件的文件类型

时间:2014-05-28 14:20:39

标签: javascript jquery mime-types input-type-file

我正在尝试在input[type=file]更改事件中捕获文件:

这是我的HTML:

<input type="file" id="file-upload" name="file-upload">

这是我的JavaScript(使用jQuery):

$('#file-upload').bind("change", function(e){
    var file = (e.srcElement || e.target).files[0];
    console.log(e);
}

它完全可以正常使用图像,txt,doc,docx,xl​​sx等等,但不能使用zip文件。 当我尝试使用zip文件时,var文件包含一个类型属性为空。

你知道为什么以及如何得到它?

编辑1 我在Windows 7中使用Chrome浏览器。我的文件用7zip压缩。

编辑2 这是我得到的:

Console log

1 个答案:

答案 0 :(得分:2)

您的代码有效。

我尝试了enapupe的小提琴并且它有效 http://jsfiddle.net/rvd6T/

$('#file-upload').bind("change", function(e){
var file = (e.srcElement || e.target).files[0];
console.log(file);
console.log(e);
});

我的控制台日志 enter image description here


您应该知道类型会有所不同。

有时它会是类型:&#34; application / x-zip-compressed&#34; &#34; application / zip&#34;

您最有可能只需将其基于文件名, * .zip(以zip和&amp;不区分大小写结束)

但仍然必须在服务器端检查它是否实际上是一个ZIP文件且无法解压