我正在尝试使用 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 获取片段 - 问题是我不知道该怎么做。任何帮助将非常感激。