Javascript 在将图像作为原始图像二进制数据(png或jpeg)上载到服务器之前,请裁剪或调整图像大小

Javascript 在将图像作为原始图像二进制数据(png或jpeg)上载到服务器之前,请裁剪或调整图像大小,javascript,image,crop,Javascript,Image,Crop,我试图在浏览器中裁剪图像,并将其作为原始图像二进制数据上传到服务器(格式应为“image/jpeg”或“image/png”)。我尝试了许多客户端裁剪和上载方法,它们都使用HTML5函数canvas.toDataURL()以“data:image/png;base64”格式获取最终裁剪的数据,将其上载到web服务器,然后在服务器端将其转换为原始图像二进制数据 问题是,我必须将裁剪后的数据上传到一个静态文件服务器,比如AWS S3,除了接受文件上传外,它不能执行转换代码。因此,我需要的是将裁剪后的

我试图在浏览器中裁剪图像,并将其作为原始图像二进制数据上传到服务器(格式应为“image/jpeg”“image/png”)。我尝试了许多客户端裁剪和上载方法,它们都使用HTML5函数canvas.toDataURL()以“data:image/png;base64”格式获取最终裁剪的数据,将其上载到web服务器,然后在服务器端将其转换为原始图像二进制数据

问题是,我必须将裁剪后的数据上传到一个静态文件服务器,比如AWS S3,除了接受文件上传外,它不能执行转换代码。因此,我需要的是将裁剪后的图像上传为普通图像格式,如“image/png”。如果可以做到这一点,我可以使用浏览器裁剪图像并将其直接上传到文件服务器(S3),而不需要中间服务器来转换图像数据并将其传输到文件服务器(S3)。

请看,它提供了一个基于JavaScript的文件选择器,包括裁剪/调整大小功能,并支持上传到S3和其他云存储服务,而不需要服务器端代码。请注意,有些功能需要付费计划。

您可以尝试使用一个基于HTML5的javascript插件,该插件在画布元素中裁剪图像,将画布转换为blob,并通过AJAX将其作为png或jpeg上传到服务器。它根本不需要任何服务器端代码,但它只能在支持HTML5的浏览器中运行


编辑:指向插件的链接已过期。

谢谢。它看起来不错,但对我来说太重了。你可能会找到一些基于flash的东西,有点像pixlr的在线照片编辑器。pixlr网站上有一篇关于如何将在线照片编辑器与你的网站集成的文章:谢谢。我来看看,真的很管用。谢谢。这个库只提供了一个对裁剪和上传图像的函数调用,这很好。裁剪上传URL已经过期,你能更新它吗?@aveon你能提供新的URL吗?我编辑了这个问题以使它更清楚。你们现在明白了吗?这个问题还不清楚吗?你们能指出你们困惑的地方吗?为什么有人锁定了我的问题,却再也不检查或解锁?