从 Gmail 拖放附件

Jon*_*Toy 5 javascript gmail drag-and-drop email-attachments

在 Chrome 中,Gmail 允许将附件从电子邮件拖到桌面。例如,我可以打开带有 Excel 电子表格附件的电子邮件,单击该图标并将其拖到我的桌面上,它就会以 Excel 电子表格的形式出现在我的桌面上,然后我可以打开和编辑它。

http://gmailblog.blogspot.com/2010/08/drag-and-drop-attachments-to-save-them.html

我想要做的是编写一个网络应用程序,允许我将 Gmail 附件拖到我的页面上的放置区域并获取文件。

在做了一些额外的研究之后,我发现,根据The CSS Ninja,拖动到桌面的工作原理是将dataTransfer拖动事件中的对象设置为包含以下类型DownloadURL

files[0].addEventListener("dragstart", function(evt) {
     evt.dataTransfer.setData("DownloadURL", fileDetails[0]);
}, false);
Run Code Online (Sandbox Code Playgroud)

fileDetails[0]要下载的对象的 URL在哪里。

但是,当我打开页面并检查我的事件对象时,我发现它dataTransfer根本不包含任何内容。没有DownloadURL类型,没有文本字符串或类似的东西。它完全是空的。

相比之下,当我从页面中拖动 PNG 图像或超链接时,该event.dataTransfer对象包含大量数据。

我在这里缺少什么?