I am trying to catch a file on a input[type=file]
change event :
Here is my HTML :
<input type="file" id="file-upload" name="file-upload">
Here is my JavaScript (using jQuery) :
$('#file-upload').bind("change", function(e){
var file = (e.srcElement || e.target).files[0];
console.log(e);
}
It works fully fine with images, txt, doc, docx, xlsx etc etc etc BUT NOT with zip files. When I try it with a zip file, the var file contains a type attributes empty.
Do you have an idea why and how i could get it?
EDIT 1 I use Chrome Browser, in Windows 7. My files are zipped with 7zip.
EDIT 2 here is what I get :
I am trying to catch a file on a input[type=file]
change event :
Here is my HTML :
<input type="file" id="file-upload" name="file-upload">
Here is my JavaScript (using jQuery) :
$('#file-upload').bind("change", function(e){
var file = (e.srcElement || e.target).files[0];
console.log(e);
}
It works fully fine with images, txt, doc, docx, xlsx etc etc etc BUT NOT with zip files. When I try it with a zip file, the var file contains a type attributes empty.
Do you have an idea why and how i could get it?
EDIT 1 I use Chrome Browser, in Windows 7. My files are zipped with 7zip.
EDIT 2 here is what I get :
Share Improve this question edited May 28, 2014 at 15:49 BastienSander asked May 28, 2014 at 14:20 BastienSanderBastienSander 1,8485 gold badges26 silver badges56 bronze badges 2-
What do you mean by "var file contains a type attributes empty" What attributes? Where do you use
file
in your script? What does it output? – Bergi Commented May 28, 2014 at 14:23 - 2 It works here: jsfiddle/rvd6T – enapupe Commented May 28, 2014 at 14:24
1 Answer
Reset to default 3Your code works.
I tried enapupe's fiddle and it works http://jsfiddle/rvd6T/
$('#file-upload').bind("change", function(e){
var file = (e.srcElement || e.target).files[0];
console.log(file);
console.log(e);
});
My console log
You should be be aware that the types will vary.
sometimes it would be type: "application/x-zip-pressed" or "application/zip"
You most likely should just base it on the filename instead, *.zip (ends with zip & case insensitive)
but still must check it on server side if its actually a ZIP file and unzipable