Codeigniter | 将Base64图片保存到文件

3
我创建了一个自定义产品配置器,它可以将canvas元素保存为base64编码的图片。当我在浏览器中用图像src回显图像时,它可以正常工作。
例如,以下内容可正常工作:
$base64Image = $_POST['dataUrl'];
echo '<img src="'.$base64Image.'" />';

我的问题是CodeIgniter无法将这个base64图片的src添加到会话中,可能是因为它太大了。我尝试了一些人们用来将图像写入服务器的方法,但都会出现错误。有没有人知道我如何将这个base64字符串写入一个名为“myimage.png”的图像,并保存在images/custom文件夹中?

任何帮助都将不胜感激。


你应该对那个dataURI进行HTML转义,否则会存在XSS问题。 - Janus Troelsen
1
请尝试访问以下链接:http://j-query.blogspot.in/2011/02/save-base64-encoded-canvas-image-to-png.html - GBD
2个回答

16

参考链接正是我所需要的。现在它完美地运作了。谢谢! - Daniel White

2

使用tempnam()在脚本可写的目录中获取唯一的文件名。您可以将会话变量“thisUsersTempFile”映射到该文件名。

或者,如果不是临时的,您可以将关联存储在其他地方。如果需要清理tmp文件,则可能需要执行此操作,因为我认为您无法挂钩会话销毁。您可以轮询现有会话并删除与已销毁会话相关联的tmp文件。您可以使用cron作业执行此操作。


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