I have following HTML object with file
<form name='file_form' class="panel-body">
<input type="file" id="file" name="file[]" />
<input type='button' id='btnSendFile' value='sendFile' />
<output id="list"></output>
</form>
Where using the file browse in type="file", I select a file to upload. When I click on btnSendFile, the file name of the selected file appears under name. However file variable is null when I pass it below. I need to access file object properties of file object.
I have a function that sends the file.
var file ;
function sendFile(file) {
var to = $('#to').get(0).value;
var filename = file.name;
var filesize = file.size;
var mime = file.type;
}
$('#btnSendFile').bind('click', function() {
sendFile(file);
});
How do I get the file object in javascript where I need to file.name, file.size, and file.type? What should I assign variable file ?
UPDATE: Answer:
file= $("#file")[0].files[0];
Pass this.previousElementSibling.files[0]
or $("#file")[0].files[0]
to sendFile
// var file; function sendFile(file) { // var to = $('#to').get(0).value; var filename = file.name; var filesize = file.size; var mime = file.type; $("#list").html(filename + " " + filesize + " " + mime) } $("#btnSendFile").bind("click", function() { sendFile(this.previousElementSibling.files[0]); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <form name='file_form' class="panel-body"> <input type="file" id="file" name="file[]" /> <input type='button' id='btnSendFile' value='sendFile' /> <output id="list"></output> </form>
Hello here is your answer
<form name='file_form' class="panel-body">
<input type="file" id="file" name="file[]"/>
<input type='button' id='btnSendFile' value='sendFile' onclick="myFunction()" />
<output id="list"></output>
</form>
<script>
function myFunction(){
var x = document.getElementById("file");
var txt = "";
var file = x.files[0];
if ('name' in file) {
txt += "name: " + file.name + "<br>";
}
if ('size' in file) {
txt += "size: " + file.size + " bytes <br>";
}
document.getElementById ("list").innerHTML = txt;
}
</script>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.