Javascript Jquery input.files等效
我有一个简单的html表单和一个文件上传输入。( 在过去,我使用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 = $
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);