javascript - 获取输入文件中 zip 文件的文件类型

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

我正在 try catch 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、xlsx 等,但不能处理 zip 文件。 当我尝试使用 zip 文件时,var 文件包含一个空的类型属性。

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

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

编辑2 这是我得到的:

Console log

最佳答案

您的代码有效。

我尝试了enapupe的 fiddle ,它有效 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

<小时/>

您应该注意类型会有所不同。

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

您很可能应该将其基于文件名, *.zip(以 zip 结尾且不区分大小写)

但仍必须在服务器端检查它是否实际上是 ZIP 文件且可解压

关于javascript - 获取输入文件中 zip 文件的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23914273/

相关文章:

javascript - 获取具有特定 className 的 <tr> 的单元格

javascript - IE 11 浏览器上的 Bing map ,鼠标单击事件仅在我们打开兼容模式时有效

node.js - Nodejs 表达 mime 类型问题

python - 是否有更可靠的替代 mimetypes.guess_extension() 的方法?

javascript - 可汗学院算法 : Binary Search Solution

javascript - Jquery - 如何在 html 元素之间来回转换 (fadeIn/fadeOut) 并保持位置?

javascript - 使用 jQuery 或 JavaScript 预加载图像

javascript - 修改feathers hook.result中的响应状态码

更改类而不是样式属性的 jquery slider (或无限循环)插件

java - 如何将 MimeBodyPart ContentType 设置为 "text/html"?