Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery input.files等效_Javascript_Jquery_File Upload - Fatal编程技术网

Javascript Jquery input.files等效

Javascript Jquery input.files等效,javascript,jquery,file-upload,Javascript,Jquery,File Upload,我有一个简单的html表单和一个文件上传输入。( 在过去,我使用input.files访问了用户选择的文件,但是我不知道如何使用JQuery来实现这一点 代码: 选项A给我一个我期望的文件对象。然而,选项B只给我上传文件的名称,而(据我所知)不是文件本身 选项C显示文件未定义 Jquery与input.files的等价物是什么 注意:我不反对使用本机javascript;但鉴于我在本项目的其余部分都在使用JQuery,如果可能的话,我更愿意在这里使用它。您必须访问该元素。尝试: file = $

我有一个简单的html表单和一个文件上传输入。(

在过去,我使用
input.files
访问了用户选择的文件,但是我不知道如何使用JQuery来实现这一点

代码:

选项A给我一个我期望的文件对象。然而,选项B只给我上传文件的名称,而(据我所知)不是文件本身

选项C显示
文件
未定义

Jquery与
input.files
的等价物是什么


注意:我不反对使用本机javascript;但鉴于我在本项目的其余部分都在使用JQuery,如果可能的话,我更愿意在这里使用它。

您必须访问该元素。尝试:

file = $("#fileInput")[0].files[0];
alert(file); //C
或者(谢谢你,杰克)


jQuery没有为文件API提供包装器。因此没有jQuery风格的方法来实现这一点,至少没有内置到jQuery核心中

您的选择:

  • 坚持选择A
  • 等待jQuery包含这样的包装器(它们可能不会)
  • 查找其他人编写的扩展名(如果存在)
  • 自己写一个扩展名
尝试以下代码

var file = $("#fileInput").get(0).files[0];
 alert(file);
谢谢

.prop('files')[0]
.attr('file')
更有可能起作用。这看起来是正确的,因为:常见问题解答只是提到这比较慢……为什么否决?
file = $("#fileInput").prop('files')[0];
alert(file);
$(function () {
    $("#cmdSubmit").bind("click", function () {
       alert(this.files);
     });        
});​
var file = $("#fileInput").get(0).files[0];
 alert(file);