繁体   English   中英

将图像(作为数据:image / png:base64)上传到网络服务器

[英]Uploading image (as data:image/png:base64) to webserver

我在这样构建的网页上有一个图像:

<img src="data:image/png;base64;...." />

图像的内容来自用户粘贴到浏览器中。 我的问题是如何将图像上传到网络服务器(如果重要的话,PHP)。

1)使用javascript(或用户提交的数据)获取src属性

2)按原样将其提交给服务器,或者在base64;之后剪切并提交所有内容base64; (AJAX或POST,方法GET可能不适合大图像)

3)在服务器端解码base64(在base64;之后的所有内容base64;如果没有切割),将结果保存为二进制 - 它是一个图像。

而已。

ps:只是一个提醒 - 仔细考虑可能的代码注入。 检查提交的数据或有人将上传编码的PHP脚本。 禁用上传文件夹中的php引擎,并验证最终结果是否为实际图像(例如,在GD库的帮助下)。 即使脚本无法在您的服务器上运行,它也可能被用于使用php脚本对其他服务器的恶意请求。

只需将基本64位编码文本发布到您的服务器即可。

你可以把它保存为......

file_put_contents($image, base64_decode($str));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM