[英]HTML Javascript File Upload
I have following HTML object with file 我有以下HTML对象和文件
<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. 使用type =“ file”中的文件浏览的地方,我选择一个要上传的文件。 When I click on btnSendFile, the file name of the selected file appears under name.
当我单击btnSendFile时,所选文件的文件名将显示在name下。 However file variable is null when I pass it below.
但是,当我在下面传递它时,文件变量为null。 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? 如何在javascript中需要file.name,file.size和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
将
this.previousElementSibling.files[0]
或$("#file")[0].files[0]
传递给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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.