Javascript 浏览器端预上传图像缩放和裁剪的可靠性和安全性

Javascript 浏览器端预上传图像缩放和裁剪的可靠性和安全性,javascript,html,image-processing,Javascript,Html,Image Processing,我喜欢给网站的用户在上传之前裁剪图像的能力。这对于不了解图像处理工具的人来说很方便,并且可能会大大缩短上载时间,因为上载的图像与用作源的普通数码相机图像相比非常小 我想使用HTML5文件API、img标记、canvas元素和FormData API来解码、操作和上传图像 我想知道这是否会对安全性和可靠性产生影响。加载大型图像可能会破坏客户端DOM或JavaScript,并使页面或整个浏览器崩溃。JavaScript可以处理的最大图像是什么(例如加载和调整大小)?浏览器是否识别JPG和PNG格式(

我喜欢给网站的用户在上传之前裁剪图像的能力。这对于不了解图像处理工具的人来说很方便,并且可能会大大缩短上载时间,因为上载的图像与用作源的普通数码相机图像相比非常小

我想使用HTML5文件API、img标记、canvas元素和FormData API来解码、操作和上传图像

我想知道这是否会对安全性和可靠性产生影响。加载大型图像可能会破坏客户端DOM或JavaScript,并使页面或整个浏览器崩溃。JavaScript可以处理的最大图像是什么(例如加载和调整大小)?浏览器是否识别JPG和PNG格式(如TIFF)


图像文件中的恶意代码可能以某种方式访问JavaScript并滥用用户的会话凭据。这会带来实际风险吗?

我一岁时也有这个问题,所以我决定创建自己的php和jquery脚本,通过客户端和服务器端验证进行裁剪和调整大小,这样如果用户使用任何技巧,服务器将选择默认选项,而不是客户端:

那么,我们如何做到这一点呢?首先,我们需要客户端表单来裁剪和调整大小,等等。。。。。。所以我们需要jquery有一个很好的插件:jquery image are select

然后我们需要检索裁剪的值,以便服务器能够确保用户没有欺骗、垃圾邮件或黑客行为

一个优秀的php库是php gd库,它应该附带最新的php版本,但是您可能需要启用扩展,只需在google上搜索,您就会发现如何启用它们

现在,gd库将捕获axis并在服务器端而不是客户端裁剪它。客户端将只提供应裁剪多少的信息,服务器将执行此任务:)

这是我一年前写的剧本。它有点凌乱(html和css)。但它应该能完成任务。

注意:您需要启用gd扩展才能完成此工作,请在本地服务器上试用。启用扩展后,需要重新启动服务器并运行脚本。它应该是开箱即用的,但如果出现问题或错误,请告诉我:)