在输入文件中获取压缩文件的文件类型

我正在尝试在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这里是我得到:


你的代码有效。

我尝试了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);
});

我的控制台日志


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

有时它会是类型:“application / x-zip-compressed”“application / zip”

您很可能应该将其基于文件名,而不是* .zip(以zip和大小写不敏感结尾)

但仍然必须检查它在服务器端,如果它实际上是一个ZIP文件和unzipable

链接地址: http://www.djcxy.com/p/47091.html

上一篇: Getting the file type of a zip file in input file

下一篇: Javascript MIME Type