用于 Internet Explorer 的拖放文件上传库
Posted
技术标签:
【中文标题】用于 Internet Explorer 的拖放文件上传库【英文标题】:Drag and drop file upload library for Internet Explorer 【发布时间】:2012-04-27 18:22:21 【问题描述】:我发现了一个很棒的库,名为 JQuery File Upload,用于在现代浏览器中拖放文件上传。不幸的是,拖放在 Internet Explorer 中不起作用。
在IE中拖放文件上传是项目的要求,所以我想针对这种特定情况找到解决方案。我的想法是最终得到两个版本的上传页面,一个用于 IE,另一个用于世界其他地方。
有没有人知道在 IE 中进行此类上传的好 Activex 库,不需要任何安装?
【问题讨论】:
【参考方案1】:我认为最好的方法是使用新的 html5 Drag and Drop API 和新的 File API。
【讨论】:
我相信 TO 想要一个针对旧版本 IE 的解决方案,不支持 HTML5 拖放 API。 好的!我认为 FileDrop 是您所需要的 --> link FileDrop 显然可以通过 iframe 技巧通过 Drag'n Drop 和 IE6+ 上传文件。我必须检查一下,但它看起来很有希望。谢谢!【参考方案2】:你可以试试dropZone,支持IE 10+
【讨论】:
【参考方案3】:FiledropJS 2,是一个拖放文件上传库,它有一个 <Iframe>
based fallback,也可以在旧版 IE 中工作。该页面中有一个演示。看起来很有希望,看看吧。
【讨论】:
【参考方案4】:我编写了一个 javascript 模块来执行通用的拖放事件,包括:
文件删除, 在浏览器窗口中拖放, 在两个不同的浏览器窗口之间拖放, 从浏览器窗口拖放到外部应用程序,然后 从外部应用程序拖放到浏览器窗口它抽象了一堆关于 html5 拖放 api 的奇怪的东西,否则这些东西会浪费你的时间。这是一个示例用法:
dd.drag(myDomNode,
dragImage: true, // default drag image
start: function(setData, e)
setData('myCustomData', JSON.stringify(a:1, b:"NOT THE BEES")) // camel case types are allowed!*
)
dd.drop(myDropzone,
drop: function(data, pointer, e)
myDropzone.innerHTML = data.myCustomData
)
它也可以在 IE 中使用(带有常见的 IE 警告)。在此处查看完整文档:https://github.com/fresheneesz/drip-drop
【讨论】:
以上是关于用于 Internet Explorer 的拖放文件上传库的主要内容,如果未能解决你的问题,请参考以下文章
Internet Explorer 中的 HTML5 拖放问题(无法访问数据传输属性)
在 Internet Explorer 9 中进行 Dart HTML5 拖放