请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
67
帖子
2
勋章
599
Y币

[BUG] 如何使用apicloud的方法将一个canvas图片下载到本地相册?

[复制链接]
发表于 2022-12-3 17:10:13
我现在有个需求就是要保存一些凭证,这个凭证不是图片,当点击保存图片的时候会用到html2canvas将该div快生成一个canvas,然后将该canvas转成base64Code上传到服务器生成一张图片,然后返回一个图片url,然后下载,这个过程比较麻烦,我想请问下有没有方法直接将那个生成的base64Code直接保存到本地相册?


我试过 api.saveMediaToAlbum 方法一直提示保存失败,代码如下:


  1. api.saveMediaToAlbum({
  2.         path: 'data:image/png;base64,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'
  3.     }, function(ret, err) {
  4.         if (ret && ret.status) {
  5.             api.alert({
  6.                 msg:'保存成功'
  7.             });
  8.         } else {
  9.             api.alert({
  10.                 msg:'保存失败'
  11.             });
  12.         }
  13.     });
复制代码


用trans模块保存

var trans = api.require('trans');
trans.saveBase64Image({
    name:'',
    base64str:''
}, function(ret, err) {
    if (ret.status) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});
67
帖子
2
勋章
599
Y币
勇可可 · 2022-12-3 18:15用trans模块保存

var trans = api.require('trans');

大佬,试了您的方法,点击了没反应啊,代码如下:

  1. function saveOrderImgToLocalStorage() {
  2.     var trans = api.require('trans');
  3.     trans.saveBase64Image({
  4.         name:'xx.png',
  5.         base64str:'data:image/png;base64,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'
  6.     }, function(ret, err) {
  7.         if (ret.status) {
  8.             alert(JSON.stringify(ret));
  9.         } else {
  10.             alert(JSON.stringify(err));
  11.         }
  12.     });
  13.     return;
  14.     ......
  15. }
复制代码

小软萌 · 2022-12-3 21:51大佬,试了您的方法,点击了没反应啊,代码如下:

有添加模块吗  添加之后 要重新自定义load 下载安装再看
67
帖子
2
勋章
599
Y币
勇可可 · 2022-12-3 22:52有添加模块吗  添加之后 要重新自定义load 下载安装再看

大佬,还有别的办法不?这还要加模块啊,加个模块,我编译后的体积是不是又要变大了
小软萌 · 2022-12-4 15:04大佬,还有别的办法不?这还要加模块啊,加个模块,我编译后的体积是不是又要变大了

这个模块不大 可以加了试试
您需要登录后才可以回帖 登录

本版积分规则