chrome使用dragstart event.dataTransfer拖出多个文件

dan*_*man 5 javascript html5 drag-and-drop google-chrome blob

我目前有一个应用程序,它在javascript中生成一些内容,将其转换为blob,然后允许用户将其拖到桌面上以将其保存为文件.关键线看起来像这样:

 event.dataTransfer.setData("DownloadURL",
                  'application/octet-stream:' + desiredFilename + ':' + blobURL);
Run Code Online (Sandbox Code Playgroud)

这在Chrome中运行良好,但理想情况下我希望用户能够同时拖出多个文件.

  • 我看到Firefox有一个mozSetDataAt方法,我想这是他们暴露这个功能的方式,但我在Chrome中找不到任何相同的东西.
  • 我试过玩dataTransfer.items.add它似乎对dataTransfer对象做了什么但它不会产生工作拖动,即使用于单个文件.
  • 我已经尝试提供一个数组作为setData上面的第二个参数,它适用于一个项目,但不是更多.
  • 我试过多次调用setData,看看每个调用是否添加了额外的数据,但遗憾的是它只是覆盖了原始数据.
  • 我想知道是否有某种方法可以指定具有某种多部分类型的单个downloadurl,这将允许我指定多个blob及其所需的文件名.看到这个无法回答的SO问题或多或少地提出了这个问题.
  • 我还想知道是否有某种方法可以创建一个FileList或者DataTransferItemList以某种方式将它们分配给事件,但似乎没有任何方法可以从头开始创建这些类的实例.

真的我只关心Chrome,虽然FF和IE可能很感兴趣.

谢谢!