将选定区域上传到服务器图像

问题描述:

我想创建一个应用程序(Firefox扩展),它将抓取屏幕区域,另存为图像并上传到服务器。将选定区域上传到服务器图像

这里是我的路线图:

首先,我将创建将适用于所有域的的Greasemonkey用户脚本。 当任何页面加载时,它会添加一个名为“screengrab + upload”的小按钮。 当用户点击按钮时,它会添加一个鼠标处理程序,以便我可以绘制一个div元素。

通过这个可调整大小的div元素,我将在网页上选择一个矩形区域。在MouseUp事件中,我将在选定区域上添加一个等效的Canvas元素。

然后我将使用todataurl函数将选定区域转换为图像/ png。现在,我想将这些数据上传到我的服务器。由于我的服务器与网页的域不同,我需要通过跨域脚本将数据(image/png base64编码)上传到服务器。

对于图片上传,我会在我的域中添加一个隐藏的iframe到网页。从网页中,数据将作为变量发布到iframe,然后从iframe发布到我的服务器。

最后,我将使用编译器/转换将greasemonkey脚本转换为FireFox扩展。

我能以这种方式制作这个应用程序吗? 请建议正确的方法来做到这一点。

+0

我几乎做了这个应用程序。我用“ScreenGrab”Firefox扩展并修改了它的代码。此应用程序将图像保存到本地文件系统。我使用XMLHttpRequest()上传图像。因为我使用直接Ajax请求上传图片。当我从Chrome窗口请求时它是有效的 – user69260 2009-02-27 17:03:18

是的,你可以做到这一点。写下你的GM脚本(我建议including jQuery使它更容易)。当你在通用汽车公司工作时,使用User Script Compiler来扩展它。