帖子
帖子
用户
博客
课程
显示全部楼层
17
帖子
0
勋章
139
Y币

[插件使用] 保存base64格式图片到本地

[复制链接]
发表于 2016-12-8 16:54:27
用canvas生成的图片生成的base64格式的图片怎么存到本地文件夹?   
代码是这样   dataUrl = canvas.toDataURL("image/png");



dataUrl 就是base64格式的图片

21
帖子
4
勋章
1万+
Y币
你看看http://docs.apicloud.com/Client-API/Func-Ext/trans#2
这个里面的saveImage是不是你要的
17
帖子
0
勋章
139
Y币
主函数 发表于 2016-12-8 16:59
你看看http://docs.apicloud.com/Client-API/Func-Ext/trans#2
这个里面的saveImage是不是你要的 ...

这个方法会导致应用崩溃,强制退出,什么鬼……
var savePath =  api.cacheDir + "/" + getNowFormatDate() + "/imagecase/"+proid+"/";
                                trans.saveImage({
                                    base64Str: dataUrl,
                                    imgPath: savePath
                                }, function(ret, err) {
                                    if (ret.status) {
                                        alert(JSON.stringify(ret));
                                    } else {
                                        alert(JSON.stringify(err));
                                    }
                                });               
28
帖子
0
勋章
5162
Y币
King@Lee 发表于 2016-12-8 17:23
这个方法会导致应用崩溃,强制退出,什么鬼……
var savePath =  api.cacheDir + "/" + getNowFormatDate ...

base64Str: dataUrl,
                                    imgPath: savePath

这两个参数肯定有一个有问题,可以弄简单点的先测试下如果

base64Str:'1122',
imgPath:'fs://12.png'
17
帖子
0
勋章
139
Y币
selina1105 发表于 2016-12-8 17:26
base64Str: dataUrl,
                                    imgPath: savePath

应该是base64Str参数有问题。不过还有一点,设置地址之后保存进去的目标是文件夹
21
帖子
4
勋章
1万+
Y币
King@Lee 发表于 2016-12-8 17:36
应该是base64Str参数有问题。不过还有一点,设置地址之后保存进去的目标是文件夹 ...

图片后缀你自己定的呀。。。jpg或者png。。。
17
帖子
0
勋章
139
Y币
主函数 发表于 2016-12-8 17:37
图片后缀你自己定的呀。。。jpg或者png。。。

调试通过,确实是base64格式数据的问题,至于目标为0的文件夹,原因有点儿诡异,参数imgName刚开始写死后缀名为jpg,无效,后来改为动态命名就没问题了,中途把这个参数值去掉,后来再加上。懒得再去深究原因。谢谢大神!
1
帖子
0
勋章
12
Y币
数据格式有什么问题?我也遇到同样的问题
4
帖子
0
勋章
22
Y币
  base64Str: dataUrl.slice(22)

去掉dataUrl的前面22个字符就可以了

,
您需要登录后才可以回帖 登录

本版积分规则