如何将文件从一个应用程序拖放到JavaScript或jQuery中的另一个应用程序



我有一个jQuery Web应用程序,其中包含缩略图映像列表。图像看起来像

<a href="#" draggable="true" id="anchorId" data-downloadurl="application/pdf:filename.pdf:http://www.pdf995.com/samples/pdf.pdf"><img draggable="false" alt="" src="imageSrcPath" title="Drag & Drop"></a>

当我试图将此锚标记从我的应用程序拖到本地系统(桌面或任何其他目录)时,立即复制PDF文件。它的工作正常。

,但是现在我想将锚标签从我的应用程序拖到其他LOB应用程序(Gmail撰写或快速书籍),什么也不会发生。

以下代码用于Dragstart,

document.getElementById("anchorId").addEventListener("dragstart",function(evt) {
    document.getElementById("anchorId").setAttribute("href", "http://www.pdf995.com/samples/pdf.pdf");
    evt.dataTransfer.effectAllowed = "copy";                             
},false); 

我不知道要在event.datatransfer中传输文件对象。因为在LOB应用程序中,Drop事件期望该文件为event.datatransfer.files。

所以请让我知道如何在DragStart事件上传输文件?

谢谢

您可以尝试: -

$(document).on('dragover', function(e) {
     e.preventDefault();
});
$(document).on('drop', function(e) {
    e.preventDefault();
    e.originalEvent.dataTransfer.items[0].getAsString(function(url){
        alert(url);
    });
});​

获取" http://static3.flattr.net/thing/image/9/4/5/5/5/5/0/huge.png?1326712342"当我从另一个浏览器窗口拖动该图像时。

.getAsstring接听回调,该回调将其称为参数,一旦称为

不适用于Firefox

最新更新