收藏
回答

小程序 保存不了base64



base64保存不了

回答关注问题邀请回答
收藏

2 个回答

  • 刘弘愿
    刘弘愿
    2018-06-05
    filePathString图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径

    仔细看API。。。这里是路劲。。base64是流数据。。。能保存成功才怪了。。。不过我试过base64canvas画出来后在保存出一个临时路劲来savetoPhoto 电脑上可以成功,但是真机的canvas画出来就是个白板。。


    2018-06-05
    有用 1
    回复 1
    • 2018-06-05

      谢谢

      2018-06-05
      回复
  • 北冥有鱼
    北冥有鱼
    2021-04-27

    把base64数据先写到本地文件,然后保存本地图片。

    

    // data为base64的图片数据(注意:没有前缀 data:image/png;base64,)
    let array = wx.base64ToArrayBuffer(data); 
    let random = new Date().getTime();
    let filePath = wx.env.USER_DATA_PATH + `/${random}.png`;
    wx.getFileSystemManager().writeFile({
    	filePath: filePath,
    	data: array,
    	encoding: 'binary',
    	success: res => {
    		console.log('success');
    		this.saveImageToAlbum(filePath);
    	},
    	fail: err => {
    		console.log(err);
            }
    })
    function saveImageToAlbum(filePath) {
    	wx.saveImageToPhotosAlbum({
    		filePath: filePath, 
    		success: res => {
    			uni.showToast({
    				title: "保存成功"
    			})
    		},
    		fail: error => {
    			console.log(error)
    		}
    	})
    }
    
    2021-04-27
    有用
    回复
登录 后发表内容