javascript - 将拖放文件发送到输入类型文件元素

标签 javascript file-upload drag-and-drop

我有一个表单生成器,我想添加拖放文件功能。

我遇到的问题是我遇到的所有资源都是通过 xhr 上传图像的下降时。我希望图像一直保留到提交表单为止。

理想情况下 event.dataTransfer.files[0]对象将被转移到 <input type="file" ...value="[dropped-file]">元素。

目前我无法做到这一点。他们使用兼容的数据类型吗?

最佳答案

您可以在放置事件发生后创建并发送一个表单,然后用户单击一个 conf 按钮。这是它的要点:(未测试)。

function uploadFile(file) {
    var form = new FormData(),
        xhr = new XMLHttpRequest();

    form.append('media', file);
    xhr.open('POST', '/myurl/');

    xhr.onprogress = function(e) {
        showProgress();
    }

    xhr.onload = function(e) {
        showSuccessConf();
    }

    xhr.send(form);
}

uploadFile(event.dataTransfer.files[0]);

关于javascript - 将拖放文件发送到输入类型文件元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866254/

相关文章:

javascript - php数据发送到javascript问题

javascript - Node.js+Mongodb设计

java - AppEngine BlobStore 无法上传 blob,因为从 1.5.5 更新到 1.6.1 | getUploads(req) 和 getUploadedBlobs(req) 都失败

c# - 拖放后图像名称元数据错误

windows - Delphi 中的跨应用程序拖放

javascript - 使用 jquery 选择表中的 TR。

javascript - 使用javascript向按钮添加事件

mysql - 当我刷新浏览器时,在 mysql 中上传表单重复文件

php - 通过 PHP 将超过 20MB 的文件上传到 mySQL (GoDaddy Unix)

jquery - 从一个列表中拖放 jQuery UI 可拖动元素并将其放入另一个列表中的问题