怎样下载别人小程序里面的图片

怎样下载别人小程序里面的图片,第1张

1、首先首先准备一个小程序目录,并且准备qrcode的js文件,如下图所示

2、接着用qrcode创建完图片以后直接写回调函数,如下图所示。

3、然后将图片路径缓存下来,如下图所示。

4、接着直接调用saveImageToPhotosAlbum进行保存,如下图所示。

5、然后会d出授权的界面,点击确定就可以把小程序里的图片保存到自己的相册里了。

小程序中获取图片可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是图片,第二种是d框提示用户是要拍照还是从相册选择,下面一一来看。

选择相册要用到wx.chooseImage(OBJECT)函数,具体参数如下:

直接来看打开相机相册的代码:

Page({   data: {    tempFilePaths: ''   },   onLoad: function () {   },   chooseimage: function () {    var that = this   wx.chooseImage({     count: 1, // 默认9      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有      success: function (res) {      // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片       that.setData({       tempFilePaths: res.tempFilePaths      })     }    })     },          })      

方法一效果图如下:

个人认为第二种用户体验要好一点,效果如下:

点击获取d框提示,代码如下:

Page({   data: {    tempFilePaths: ''   },   onLoad: function () {   },   chooseimage: function () {    var that = this   wx.showActionSheet({     itemList: ['从相册中选择', '拍照'],     itemColor: "#CED63A",     success: function (res) {      if (!res.cancel) {       if (res.tapIndex == 0) {        that.chooseWxImage('album')       } else if (res.tapIndex == 1) {        that.chooseWxImage('camera')       }      }     }    })     },     chooseWxImage: function (type) {    var that = this   wx.chooseImage({     sizeType: ['original', 'compressed'],     sourceType: [type],     success: function (res) {      console.log(res)     that.setData({       tempFilePaths: res.tempFilePaths[0],      })     }    })   }      })      

文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

布局文件:

<button style="margin:30rpx" bindtap="chooseimage">获取图片</button> <image src="{{tempFilePaths }}" catchTap="chooseImageTap" mode="aspectFit" style="width: 100%height: 450rpx" />   

众所周知,小程序的大小限制在2M,我手头上这个项目目前已经不小了,因此时常出现超过2M上传不了代码的情况,为了解决这个问题,我曾经把项目的图片尽可能的去做了压缩,可是省下来的空间永远赶不上需求的增加,很快就又会出现这个问题,很是头大,就是那种眼看着自己辛苦写出来的代码还不能面世的尴尬,心痛的很,那么有人说了小程序不是提供了分包加载吗?是的嘞,但是我目前使用的是wepyjs的框架,对于基于这个的分包实在是没琢磨透,所以没敢轻举妄动,因为就想到了把本地图片放到服务器上的办法,哈哈~也算是笨人有笨办法吧,嘻嘻。。。

那么接下来就来说我是怎么处理的,其实还是很简单的。

首先,让后台的小伙伴协助把图片放到对象项目的域名上,那么这个图片对于我们来说就相当于项目的接口一样了,在使用的时候只需要把对应的接口域名拼接上即可啦,下面我们来看一个小例子:

图片已经请后台放到了服务器上了,那么负责任的后台呢会给你一个完整的图片链接给你做例子,让你去对应的修改你所需要的图片。

如上图,这就是我们后台把图片放到服务器上给我发的一个链接例子,正如你们所看到的,我掩盖到的部分就是项目的域名,Picture是服务器上放图片的文件夹,然后就是对应图片的名称。

所以这样看来就很简单了吧,我得具体做法是:

在app.wpy文件的onload中,给globalData附上服务器图片的公共域名链接的前半段,然后在其他wpy文件中,直接在onload中把globalData赋值给当前页的一个data值使用即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10961283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存