如何管理HTML5中从剪贴板粘贴的图像?

21
在Documentum Eroom应用程序中,IE可以自动从剪贴板粘贴上传图像,而Firefox则不能。
因此,我想知道HTML5是否支持这种行为(不仅仅是从资源管理器中拖放图像/文件)。
更新:授予访问权限并不足够,还需要能够处理二进制数据,而不仅仅是文本。目前的Firefox是否可以处理二进制数据,我无法确认,也许它不是显式的?
这不仅仅是关于已经在许多网站上广泛实现的拖放功能。这涉及到二进制格式剪贴板操作,以将图像直接从剪贴板保存到服务器,而无需保存文件然后拖放。对于用户来说,将文件保存在某个地方的过程非常繁琐,因此直接从剪贴板上传可以节省时间,真正必须的操作。

我想知道是否有任何开源实现是有效的。据我所知,在Google文档中粘贴图像完美地工作,但我正在寻找可以用来改进任何文件上传功能的东西,甚至可能不需要更改服务器端应用程序。 - sorin
2个回答

28

是的,HTML5具备此功能并且正在广泛实施。您可以处理来自Ctrl+V的事件并获取二进制图像数据,然后按照您的意愿进行操作。

目前,Google Chrome 13.0.782.220效果非常好。我有一个带有完整演示的jQuery插件,展示了这个功能(请确保使用Google Chrome,我不能保证其他浏览器)

http://strd6.com/2011/09/html5-javascript-pasting-image-data-in-chrome/

正如robertc所提到的,剪贴板API规范正在标准化,因此很快就应该得到所有浏览器的采纳。


非常抱歉耽搁了,我今天才看到您的好回答。我已经有很长一段时间没有来这里了。 - user310291
火狐浏览器前端有任何问题吗? - Gelmir
2
有人已经在这里制作了更新的JSFiddle版本http://jsfiddle.net/FhUwn/392/,应该可以在Chrome、IE和FF中运行。 - Daniel X Moore

8

仅仅授权访问是不够的,还需要能够处理二进制数据而不仅仅是文本。当前的Firefox浏览器是否能够处理二进制数据?我没有看到它,也许它并不明显? - user310291
@user310291 抱歉,由于您提到了拖放,我假设您已经知道文件API,因为它已经在Firefox中实现 - robertc
是的,但这里不仅仅是拖放,因为许多网站已经广泛实现了它。这是关于二进制格式剪贴板操作,可以将图像从剪贴板保存到服务器,而无需保存文件然后拖放。 - user310291
@user310291 文件就是文件,无论它们来自拖动事件还是粘贴事件,这就是文件API所用的:FILES。 - robertc
我认为这个问题是关于粘贴图像数据(而不是图像文件)的。 - WORMSS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接