Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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 是否可以使用HTML拖放文件上传,但不使用AJAX/XHR?_Javascript_Html_Drag And Drop - Fatal编程技术网

Javascript 是否可以使用HTML拖放文件上传,但不使用AJAX/XHR?

Javascript 是否可以使用HTML拖放文件上传,但不使用AJAX/XHR?,javascript,html,drag-and-drop,Javascript,Html,Drag And Drop,我的表单接受拖放事件,但我在网上读到的所有关于它们的信息似乎都暗示,您不能像那样将拖放的文件作为标准表单提交的一部分进行上传。实际上是否可以避免AJAX/XHR,在提交表单时只上传文件?也许将文件数据移动到文件输入中?这可以使用jQuery完成。下面是一个示例代码: $(document).on("dragover drop", function(e) { e.preventDefault(); // allow dropping and don't navigate to file on d

我的表单接受拖放事件,但我在网上读到的所有关于它们的信息似乎都暗示,您不能像
那样将拖放的文件作为标准表单提交的一部分进行上传。实际上是否可以避免AJAX/XHR,在提交表单时只上传文件?也许将文件数据移动到文件输入中?

这可以使用jQuery完成。下面是一个示例代码:

$(document).on("dragover drop", function(e) {
e.preventDefault();  // allow dropping and don't navigate to file on drop
}).on("drop", function(e) {
$("input[type='file']")
    .prop("files", e.originalEvent.dataTransfer.files)  // put files into element
    .closest("form")
      .submit();  // autosubmit as well
});
这允许您将文件拖到“选择文件”按钮上。访问此JSFIDLE查看其工作情况:


如果这有帮助,请将此标记为正确答案。

试试这个:它解决了我一个不超过4小时的问题!出于安全考虑,这在各种浏览器(如FF)中都不起作用。