我正在 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 这是我得到的:
最佳答案
您的代码有效。
我尝试了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);
});
我的控制台日志
<小时/>您应该注意类型会有所不同。
有时会类型:“application/x-zip-compressed”或“application/zip”
您很可能应该将其基于文件名, *.zip(以 zip 结尾且不区分大小写)
但仍必须在服务器端检查它是否实际上是 ZIP 文件且可解压
关于javascript - 获取输入文件中 zip 文件的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23914273/