请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
41
帖子
1
勋章
3335
Y币

[插件使用] trans 模块ios平台saveImage方法没反应

[复制链接]
发表于 2021-10-28 09:02:46
操作平台:IOS
出现问题:在IOS中,trans.saveImage()方法没有执行回调,试过安卓是没有问题的,
其他:
1、base64的地址放在img中是可以展示的
2、保存图片时,已经将base64之前的内容删除
3、安卓与ios返回的base64位图片图片格式不是jpg,并且两个平台稍微有点不一致,不知道是否是这个原因导致的
    IOS:data:application/octet-stream;charset=utf-8;base64,/9j/4......
    安卓:data:application/octet-stream;base64,/9j/4......
代码:
  1. // 将base64为图片,保存为本地图片,并传入showQRcode方法中,展示小程序码
  2. var trans = api.require('trans'),
  3.     base64Arr = e.target.result.split('base64,'),
  4.     base64String = base64Arr.splice(-1),
  5.     fileName = new Date().getTime() + '.png',
  6.     imgPath = 'fs://';
  7. trans.saveImage({
  8.     base64Str: base64String,
  9.     imgPath: imgPath,
  10.     imgName: fileName
  11. }, function (ret, err) {
  12.     console.log(JSON.stringify(ret));
  13.     console.log(JSON.stringify(err));
  14.     if (ret && ret.status) {
  15.         showQRcode(api.fsDir + '/' + fileName)
  16.     } else {
  17.         app.alert('请重试', '保存图片出现错误');
  18.     }
  19.     app.hideIndicator();
  20. });
复制代码





127
帖子
7
勋章
2万+
Y币
顶一下
380
帖子
4
勋章
6
Y币
41
帖子
1
勋章
3335
Y币
技术支持-F 发表于 2021-10-28 16:38
https://community.apicloud.com/bbs/thread-109818-1-1.html

用 示例测试看看

之前用格式为jpg的base64位图片在ios中是可以保存的
jpg格式的base64:data:image/jpeg;base64,/9j/4AAQSkZ......
127
帖子
7
勋章
2万+
Y币
cinderella 发表于 2021-10-28 18:01
之前用格式为jpg的base64位图片在ios中是可以保存的
jpg格式的base64:data:image/jpeg;base64,/9j/4AAQS ...

现在可以了吗
41
帖子
1
勋章
3335
Y币

不可以
127
帖子
7
勋章
2万+
Y币

base64 格式去掉utf-8 也不行吗?
41
帖子
1
勋章
3335
Y币
520707liu 发表于 2021-11-1 09:35
base64 格式去掉utf-8 也不行吗?

直接在img中是可以展示的,但是我要把图片下载下来,所以把base64之前的内容都删掉了,只保留后面的内容,ios就下载不下来,没有反应,但是安卓是没有问题的
127
帖子
7
勋章
2万+
Y币
cinderella 发表于 2021-11-1 09:44
直接在img中是可以展示的,但是我要把图片下载下来,所以把base64之前的内容都删掉了,只保留后面的内容 ...

把base64编码一下试试
41
帖子
1
勋章
3335
Y币
520707liu 发表于 2021-11-1 09:56
把base64编码一下试试

什么意思?
12下一页
您需要登录后才可以回帖 登录

本版积分规则