剪贴板和拖放文件上传(HTML + JS)

时间:2013-03-29 08:56:40

标签: javascript jquery html file-upload blueimp

我正在寻找带有HTML和JS技术的文件上传器的实现。目标是让它在大多数平台上运行,但至少在谷歌Chrome,FireFox和IE9 +上运行,能够复制和粘贴屏幕截图并拖放。

不幸的是,那里没有很多。我更喜欢blueimp因为它有一个简单的实现。另一个可能是imgur使用的。但因此我没有找到任何git-repo。

主要目标是在GC,FF和IE9 +中使用它,具有制作屏幕截图和粘贴它们的功能,并且还具有拖放功能。即使有像银光或闪光灯这样的后退。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

我过去曾使用过这个

https://github.com/valums/file-uploader

如果我没记错的话,它的效果非常好。

现在它已移至https://github.com/Widen/fine-uploader

它不使用闪光灯,它具有拖放功能。

“制作屏幕截图并粘贴它们的功能”是什么意思?

答案 1 :(得分:1)

Fine Uploader支持复制和粘贴图片以在3.4中上传,该图片将在接下来的几天内发布。此支持最初仅适用于Chrome。在Firefox和其他不正确支持Clipboard API的浏览器中使用它将在另一个版本中发生,因为这将需要更多的工作以及可能的一些服务器端魔术。

您可以在a blog post I wrote on the topic中的Fine Uploader中阅读有关复制/粘贴图片支持的更多信息。如果您有兴趣,还可以查看和评论the associated feature case in Github

完全披露:我是Fine Uploader的主要维护者。

答案 2 :(得分:-1)

所以,我得到了自己的解决方案。

我将其实施到blueimp fileuploader

@Ray Nicholus,以防你需要任何帮助试试这个用于粘贴FF中的图像:

插入内容可编辑div:

<div id="editable" style="position: absolute; left: -99999;" contenteditable></div>

如果使用粘贴,请使用:

document.onpaste = function(event){
                    $('#editable').focus();

                    setTimeout(function()
                    {
                       //get the base64 image
                       var src = $('#editable').find('img:first').attr('src');
                       //doing something with the image... and clearing the div
                       $('#editable').empty();
                    }, 10);

编辑:当然你必须验证它是否是图像。

非常感谢您的努力。如果您的优秀上传者在线使用新功能,我会试一试;)我也希望有一个更具体的演示,我可以试一试,无需下载样本。

丹尼尔