HTML Javascript 文件上传

HTML Javascript File Upload

我有以下 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",我select上传一个文件。当我单击 btnSendFile 时,selected 文件的文件名出现在名称下方。但是,当我在下面传递它时,文件变量为空。我需要访问文件对象的文件对象属性。

我有发送文件的功能。

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);
});

如何获取 javascript 中需要 file.name、file.size 和 file.type 的文件对象?我应该分配什么变量文件?

更新: 答案:

file= $("#file")[0].files[0];

您好,这是您的回答

 <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>

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>