评论

小程序图片上传,存储,获取,显示

小程序图片上传,存储,获取,显示。云相册的实现

我们在做小程序开发时,难免会遇到图片上传的功能,我们如果自己搭建图片服务器的话,成功太大了,并且还要写后台程序来接收上传的图片,还要有存储服务器。好在小程序云开发为我们提供了云存储的功能,这样我们就可以轻松的实现小程序图片的上传和存储。

老规矩,先看效果图

本节知识点

  • 1,小程序图片的选取
  • 2,小程序图片的上传
  • 3,小程序图片的存储
  • 4,获取云端图片并显示

下面就来具体讲解下具体实现步骤

图片的选择和上传

  • index.wxml文件如下
 <view class='item_root' bindtap='chuantupian'>
  <text>{{zhaopian}}</text>
  <view class='right_arrow' />
 </view>
  • index.js文件如下
 //上传图片
 chuantupian() {
  let that = this;
  let timestamp = (new Date()).valueOf();
  wx.chooseImage({
   success: chooseResult => {
    wx.showLoading({
     title: '上传中。。。',
    })
    // 将图片上传至云存储空间
    wx.cloud.uploadFile({
     // 指定上传到的云路径
     cloudPath: timestamp + '.png',
     // 指定要上传的文件的小程序临时文件路径
     filePath: chooseResult.tempFilePaths[0],
     // 成功回调
     success: res => {
      console.log('上传成功', res)
      wx.hideLoading()
      wx.showToast({
       title: '上传图片成功',
      })
      if (res.fileID) {
       that.setData({
        zhaopian: '图片如下',
        imgUrl: res.fileID
       })
      }

     },
    })
   },
  })
 },

到这里其实我们就可以实现图片的选取和上传功能了。

下面讲讲具体是如何实现的

  • 首先我们通过wx.chooseImage来获取相册里的图片
  • 再获取照片成功后,我们用当前时间戳命名图片,然后使用 wx.cloud.uploadFile方法来实现图片的上传
  • 在上传成功后,会有如下回调。下图中的filenId就是我们在云存储中的路径,可以直接用这个路径来获取图片并显示的。

到这里我们就轻松的实现了小程序图片上传的功能,是不是很简单。

有任何关于编程的问题都可以加我微信2501902696(备注编程开发)

编程小石头,码农一枚,非著名全栈开发人员。分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑。

视频讲解地址:https://edu.csdn.net/course/play/9604/281187

最后一次编辑于  2019-06-11  
点赞 5
收藏
评论

5 个评论

  • 来年陌生
    来年陌生
    2021-01-14

    请问如果上传一组图片怎么做?因为您这展示的好像是上传一张图片的做法

    2021-01-14
    赞同
    回复 3
  • 郑旭东
    郑旭东
    2019-07-15

    借问楼主大神,目前云开发支持图片处理吗?比如裁剪。因为用户上传的图片是各种规格的,我想简单处理下,比如都裁剪成正方形。

    2019-07-15
    赞同
    回复 2
    • 编程小石头
      编程小石头
      2019-07-15
      你可以裁剪好再做上传
      2019-07-15
      回复
    • 郑旭东
      郑旭东
      2019-07-15
      谢谢,我今天试了下用canvas裁剪
      2019-07-15
      回复
  • 今天的砖头额外烫手
    今天的砖头额外烫手
    2019-07-11

    为什么我调用wx.UploadFile 时报错 Error: errCode: -501005 invalid env | errMsg: Environment not found  我环境id 已经写了

    2019-07-11
    赞同
    回复 2
    • 编程小石头
      编程小石头
      2019-07-12
      你几个云开发环境
      2019-07-12
      回复
    • 今天的砖头额外烫手
      今天的砖头额外烫手
      2019-07-12
      没事了 我调用wx。uploadFile 时 没有配置config 中的 env 环境id 看完文档 再配置一下就好了 谢谢
      2019-07-12
      回复
  • 2019-07-10

    不错不错,很有用

    2019-07-10
    赞同
    回复 2
  • 天空
    天空
    2019-05-09

    很好,辛苦了

    2019-05-09
    赞同
    回复 1
    • 编程小石头
      编程小石头
      2019-05-10

      谢谢支持

      2019-05-10
      1
      回复
登录 后发表内容