uniapp微信小程序下载base64图片流或https图片

 常规https的图片下载是这样的

const urlPath = 'https://test/logo.png'
uni.downloadFile({
	url: urlPath,
	success(res){
		// 这时会产生一个临时路径,在应用本次启动期间可以正常使用。
		if (res.statusCode == 200) {
			// 需要将图片保存到相册
			uni.saveImageToPhotosAlbum({
				filePath: res.tempFilePath, // 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径
				success(res){
					uni.showToast({
						title: '保存成功',
						icon: 'none'
					})
					// 如果保存成功需要打开查看,请使用以下方法,同时也支持打开文件
					uni.openDocument({
						filePath: res.savedFilePath,
						success(res){},
						fail(err){
							uni.showToast({
		                        title: '手机不支持该文件类型,请安装wps或office应用',
		                        icon: 'none'
		                    })
						}
					})
				},
				fail(err){
				uni.showToast({
				  title: '图片保存失败',
				  icon: 'none'
				})
				}
			})
		} else {
			uni.showToast({
			  title: '下载失败,请稍后再试',
			  icon: 'none'
			})
		}
	},
	fail(err) {
		 uni.showToast({
		    title: '下载失败,请稍后再试',
		    icon: 'none'
		 })
     }
})

下面来说一下后端返回base64的文件流,是如何下载的

必须把返回的流去掉这一部分:data:image/png;base64,否则下载不了

如我自己的流:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACgCAIAAABhQAIFAAACaklEQVR42u3aUXLCMAwEUO5/6fYKMNLKcvL2k4E08UsHsfHnTy7PxxIgFISCEKEgFISCEKEgFISCEKEgFISCEKEgFISCEKG8h/ATyK9/q3KeXZ+dXAeECBEiRLiXsPQ9/MXSVD5bec+GdUCIECFChPcR/vp1XRlnKsfvGjcm1wEhQoQIEb6LsOv1xHsQIkSIECHCk+NM18/nyVsQIUKECBG+i3Cy5u76qb7t9kKIECFChPcRTi7f5tftYEOIECHCdxFOJnHZlUfNG5cIIUKECBHOEybGljRV5ZiTIxhChAgRIryb8FQFnN4ulRidECJEiBDhcwi7Rp7KElSOmR5DBioChAgRIkS4tOY+tTWoi3Pyce7SR74IESJEiLCx5k4fp6vmXlhhI0SIECHCpYSJyjtx2ZO3xanHAAgRIkSIcNfzwlMVdtfWpq5KYXJkQ4gQIUKEZwgT40NiS1J6+1P6sTNChAgRItxLOLkEiUfHm6t5hAgRIkR4H2Hip3e6Ou+qudNjF0KECBEivIMwTV45/mRln6g7ECJEiBDh3YTpCji9rF1J/EsgRIgQIcK7CRtPvb2G7qrjh6twhAgRIkR4gDCdyhKn+RO3OEKECBEivI8w/ZU+uSWpcg6JLcIIESJEiPA+wsTYkq4LTtXWIVqECBEiRLiIcLJW3jCSdI1pCBEiRIgQYXUk6arLE9XBxFMBhAgRIkT4bMKucWOSuVJNIESIECHCuwnTt0LiHCavMXQtCBEiRIjwMOEtdfDkcexgQ4gQIcLnE8qqIEQoCAUhQkEoCAUhQkEoCAUhQkEoCAUhQkEoCAUhQrk0/1j3Eulg4ZAoAAAAAElFTkSuQmCC
downImg(){
        var byte=this.codeImg.replace("data:image/png;base64,","");
        const fs = uni.getFileSystemManager(); //全局唯一的文件管理器
        var number = Math.random();
        fs.writeFile({
          filePath: wx.env.USER_DATA_PATH + '/code' + number + '.png',
          data: byte,
          encoding: "base64",
          success(res) {
            uni.saveImageToPhotosAlbum({ //保存为png格式到相册
              filePath: wx.env.USER_DATA_PATH + '/code' + number + '.png',
              success: function (res) {
                uni.showToast({ title: "下载成功", icon: "success" });
              },
              fail: function (err) {
                console.log(err)
              }
            })
          }
        })
      },

相关推荐

  1. uniapp程序下载base64图片https图片

    2023-12-16 07:08:03       41 阅读
  2. uniapp程序下载保存图片到本地,base64

    2023-12-16 07:08:03       47 阅读
  3. 程序实现图片base64

    2023-12-16 07:08:03       10 阅读
  4. 【使用uniapp完成程序图片下载到本机】

    2023-12-16 07:08:03       41 阅读
  5. uniapp程序点击保存图片

    2023-12-16 07:08:03       45 阅读
  6. 程序实现图片下载与保存功能

    2023-12-16 07:08:03       86 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 07:08:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 07:08:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 07:08:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 07:08:03       18 阅读

热门阅读

  1. RHCL8_Linux_ansible的使用

    2023-12-16 07:08:03       38 阅读
  2. vue与angular以及react的区别

    2023-12-16 07:08:03       31 阅读
  3. 浅谈“前端已死”论

    2023-12-16 07:08:03       37 阅读
  4. Vue双向数据绑定和小程序数据驱动有何异同?

    2023-12-16 07:08:03       38 阅读
  5. urllib.parse 用于解析 URL

    2023-12-16 07:08:03       36 阅读
  6. TOGAF—架构(Architecture)项目管理

    2023-12-16 07:08:03       39 阅读
  7. 华纳云:如何解决ubuntu中libsqlite3-0依赖问题?

    2023-12-16 07:08:03       39 阅读
  8. Scrapy的crawlspider爬虫

    2023-12-16 07:08:03       37 阅读
  9. 组件v-model和自定义v-model修饰符(vModelText)

    2023-12-16 07:08:03       39 阅读