在Chrome中,Gmail允许将附件从电子邮件拖到桌面。例如,我可以打开包含Excel电子表格附件的电子邮件,单击并将图标拖到我的桌面,它将作为Excel电子表格显示在我的桌面上,然后我可以打开并进行编辑。
http://gmailblog.blogspot.com/2010/08/drag-and-drop-attachments-to-save-them.html
我想要做的是对网络应用程序进行编码,以便允许我将Gmail附件拖到我页面上的放置区域并获取文件。
在做了一些额外的研究后,我发现,根据The CSS Ninja,拖动到桌面的方法是通过在drag事件中设置dataTransfer对象来包含一种类型的DownloadURL,
files[0].addEventListener("dragstart",function(evt){
evt.dataTransfer.setData("DownloadURL",fileDetails[0]);
},false);
其中fileDetails [0]是要从中下载的对象的URL。
然而,当我放下我的页面并检查我的事件对象时,我发现dataTransfer根本不包含任何内容。没有DownloadURL类型,没有文本字符串或类似的东西。它完全是空的。相比之下,当我从页面拖动PNG图像或超链接时,event.dataTransfer对象包含大量数据。
我在这里缺少什么?