4

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

我被卡住的地方是我遇到的所有资源都xhr在丢弃时通过上传图像。我希望图像在提交表单之前一直存在。

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

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

4

1 回答 1

3

您可以在 drop 事件发生后创建并发送一个表单,并且用户单击一个 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]);
于 2013-07-25T19:03:42.740 回答