【发布时间】:2015-10-28 11:35:03
【问题描述】:
我最近拼凑了一些代码,允许通过 jquery 将拖放文件上传到我的服务器。现在我正在尝试添加一个带有文件选择输入的表单以使用相同的代码。问题是,我似乎无法将文件选择输入读入兼容的对象。
我的拖放代码在拖放时基本上具有:
var files = e.originalEvent.dataTransfer.files;
然后我将“文件”变量输入另一个函数来处理 jquery/ajax 上传。
当试图让文件输入选择以类似的方式工作时,我尝试了这段代码,但没有运气:
var files = new FormData();
files.append("file", $("#fileselect")[0].files[0]);
fileselect 是我的 id
<input type="file" id="fileselect"></input>
但是当我将此“文件”变量输入现有函数时,我无法读取以下属性:
console.log("file length: " + files.length);
有什么提示可以为我指明正确的方向吗?将不胜感激。
【问题讨论】:
-
这可能没有帮助。但是已经有图书馆可以做到这一点并且很性感。 blueimp.github.io/jQuery-File-Upload 为什么要重新发明轮子?
-
啊,是的。有许多 jquery 文件上传和拖放库。由于我已经有一些现有的代码并且对 jquery 的东西相当陌生,我不想通过尝试合并第三方来破坏现有的工作。这样,我的项目就只有 jquery 库了。
标签: jquery ajax file-upload input