8.2.1 图片

在项目开发过程中,经常需要实现上传图片的功能。本节将阐述小程序开发中如何选择并上传图片。

wx.chooseImage(OBJECT)

选择图片有两种方式,从本地相册选择图片或使用相机拍照。 OBJECT参数说明,如表8-9所示:

表8-9

参数名 类型 必填 说明
count Number 最多可以选择的图片张数,默认9
sizeType StringArray original 原图,compressed 压缩图,默认二者都有
sourceType StringArray album 从相册选图,camera 使用相机,默认二者都有
success Function 成功则返回图片的本地文件路径列表 tempFilePaths
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

wx.previewImage(OBJECT)

预览图片。 OBJECT参数说明,如表8-10所示:

表8-10

参数名 类型 必填 说明
current String 当前显示图片的链接,不填则默认为 urls 的第一张
urls StringArray 需要预览的图片链接列表
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

wx.getImageInfo(OBJECT)

获取图片信息。 OBJECT参数说明,如表8-11所示:

表8-11

参数名 类型 必填 说明
src String 图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明,如表8-12所示:

表8-12

参数名 类型 说明
width Number 图片宽度,单位px
height Number 图片高度,单位px
path String 返回图片的本地路径

示例代码:

wxml中:

<button style="margin:30rpx;" bindtap="chooseimage">获取图片</button>  
<image src="{{tempFilePaths }}" mode="aspecFill" style="width: 100%; height: 700rpx"/>

js中:

Page({
  data: {
    tempFilePaths: ''
  },
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  },
  chooseimage: function () {
    var _this = this;
    wx.chooseImage({
      count: 1, // 默认9  
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  
      success: function (res) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片  
        _this.setData({
          tempFilePaths: res.tempFilePaths
        })
      }
    })
    wx.getImageInfo({
      src: 'images/a.jpg',
      success: function (res) {
        console.log(res.width)
        console.log(res.height)
      }
    })
  }
})

运行效果如图8-1所示:

图8-1 图片API示例运行效果图

注意:

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

results matching ""

    No results matching ""