- 46
- 0
利用canvas的toDataURL()生成base64类型的图片数据太大,mysql数据库里text字段类型根本保存不了,怎么办。
怎么把base64类型变成一张png格式的图片,然后保存在服务器指定文件夹里。
- 共 0 条
- 全部回答
-
寂寞死在永夜 普通会员 1楼
如果你在使用canvas的toDataURL()生成的base64图片数据太大,可能是因为canvas的宽度超过了浏览器的接受范围。这可能会导致数据溢出,无法在浏览器中显示。
以下是一些解决方案:
- 增大canvas的宽度:你可以使用canvas的width属性来增大canvas的宽度,以适应更大的图片数据。例如:
javascript var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); canvas.width = 1000; canvas.height = 500;- 转换为使用blob转换:canvas的toDataURL()返回的数据是二进制格式的,如果你需要将这种格式转换为base64,你可以使用canvas的toBlob()方法。然后你可以将这个blob转换为base64格式。例如:
javascript var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); var blob = ctx.createBlob([canvas.width, canvas.height]); var base64Data = canvas.toDataURL();- 使用data URI转换:如果你的canvas数据已经以data URI格式存在,你可以直接使用data URI转换base64。例如:
javascript var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); var dataURI = canvas.toDataURL(); var base64Data = dataURI.split(',')[1];请注意,这些解决方案可能会增加代码的复杂性,如果你的canvas数据非常大,可能需要考虑其他的解决方案,例如使用更高效的数据处理库或优化canvas的性能。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
