我正在尝试使用dataTransfer.getData(http://html5demos.com/drag-anything)设置HTML5拖放,它将任何文本读入放置窗口并使用plupload(http://www.plupload.com )保存该数据。
当前代码:
if (getDataType.checked == false && e.dataTransfer.types) {
li.innerHTML = '<ul>';
[].forEach.call(e.dataTransfer.types, function (type) {
li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (content-type: ' + type + ')') + '</li>';
if (e.dataTransfer.types == 'Files') {
li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (uploadable: ' + type + ')') + '</li>';
}
});
li.innerHTML += '</ul>';
} else {
// ... however, if we're IE, we don't have the .types property, so we'll just get the Text value
li.innerHTML = e.dataTransfer.getData('Text');
}
我需要帮助将dataTransfer.getData的输出带到plupload,而dropzone知道文件和文本片段之间的区别。
修改 围绕我尝试的内容添加更多上下文。 1.如果删除的项目是文件,则使用if语句执行某些操作。这不起作用,因为(我相信)项目已被删除,因此无法上传 2.获取dataTransfer.files但不存储可上传的文件并杀死该片段的动态写入。
我认为解决方案涉及在开始时查询已删除的项目,然后使用plupload作为文件,使用dataTransfer.getData作为片段 - 问题是我不知道如何执行此操作。任何帮助将非常感激。
答案 0 :(得分:0)
您可以将另一个事件绑定到plupload droparea。在该事件上检查它是否是一个片段,如果是,那么使用该片段做你想要的。否则只需让plupload处理文件拖放。
www.plupload.com上有很多例子,他们也有一些非常好的论坛。
此外,我在此处撰写了一篇博文http://www.foliotek.com/devblog/plupload-custom-file-upload-ui/,其中展示了如何使用Plupload绑定使用拖放区域的自定义UI来管理文件上传。
希望有帮助...