【问题标题】:Codeigniter | Save Base64 image to file代码点火器 |将 Base64 图像保存到文件
【发布时间】:2012-10-21 05:35:58
【问题描述】:

我创建了一个自定义产品配置器,它将画布元素保存为 base64 编码图像。当我在浏览器中将图像作为图像 src 回显时,它可以正常工作。

所以像这样的工作:

$base64Image = $_POST['dataUrl'];
echo '<img src="'.$base64Image.'" />';

我的问题是 codeigniter 不会将此 base64 图像 src 添加到会话中,可能是因为它太大了。我尝试了一些人们用来将图像写入服务器的方法,但它们都会抛出错误。有谁知道我如何将此 base64 字符串写入服务器上的图像,例如 images/custom 文件夹中的“myimage.png”?

感谢任何帮助。

【问题讨论】:

标签: php jquery codeigniter image-processing base64


【解决方案1】:

你也可以使用

$decoded=base64_decode($base64Image);
file_put_contents('newImage.JPG',$decoded);

参考链接:http://j-query.blogspot.in/2011/02/save-base64-encoded-canvas-image-to-png.html

【讨论】:

  • 参考链接正是我所需要的。它现在工作得很好。谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    相关资源
    最近更新 更多