微信小程序——云开发实现图片上传到云存储并实时预览当前上传的图片

news/2024/7/20 3:47:29 标签: 微信小程序, 小程序, 前端

1.配置云开发

打开云开发
在这里插入图片描述
拷贝环境ID
在这里插入图片描述
在全局app.js中配置
在这里插入图片描述

2.界面编写

编写一个前端界面

<view>
    <button type="primary" bindtap="uploadimg">点我上传</button>
</view>

绑定事件函数

 uploadimg(){
        wx.chooseImage({
            count: 1,
            success (res) {
              // tempFilePath可以作为img标签的src属性显示图片
              const tempFilePaths = res.tempFilePaths
              console.log(tempFilePaths)
              
        wx.cloud.uploadFile({
            cloudPath: 'img/example.png', // 上传至云端的路径
            filePath: tempFilePaths[0], // 小程序临时文件路径
            success: res => {
              // 返回文件 ID
              console.log(res.fileID)
            },
            fail: console.error
          })
            }
          })
    },

注:这里面用到了两个API,wx.chooseImage用来选择一张或几张图片,wx.cloud.uploadFile用来上传选中的文件
在这里插入图片描述

在这里插入图片描述

测试:
此时我们选中一张图片后就可以上传到云存储的对应文件夹内了
在这里插入图片描述
在存储里面点击刷新就出现了我配置的img文件夹了
在这里插入图片描述
里面正是我刚刚上传的图片
在这里插入图片描述
接下来要做的就是把选择后的图片显示在界面上

3.把选中的图片显示在界面上

前端页面优化

<view>
    <button type="primary" bindtap="uploadimg">点我上传</button>
    <text>图片预览:</text>
    <image src="{{selctedimg}}"></image>
</view>

js代码优化

data: {
        selctedimg:'',
    },
    uploadimg(){
        //声明this,这里面嵌套的太多,里面拿不到this
        let _that=this

        wx.chooseImage({
            count: 1,
            success (res) {
              // tempFilePath可以作为img标签的src属性显示图片
              const tempFilePaths = res.tempFilePaths
              //获取到每张图片的名字
              const fileName=res.tempFilePaths[0].slice(11)
           // console.log(res.tempFilePaths[0])
            //console.log(res.tempFilePaths[0].slice(11))
              
        wx.cloud.uploadFile({
        //这里拼接的字符串也可以使用模板字面量
        //cloudPath: `img/${fileName}.png`, 
            cloudPath: 'img/'+fileName+'.png', // 上传至云端的路径
            filePath: tempFilePaths[0], // 小程序临时文件路径
            success: res => {
              // 返回文件 ID
              console.log(res.fileID)

              _that.setData({
                  selctedimg:res.fileID
              })
            },
            fail: console.error
          })
            }
          })
    },

测试:
现在就实现了上传那张图片就可以实时预览那张图片了!在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.手机上测试

当然也可以在手机上测试该上传功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/811862.html

相关文章

Kylin 新定位:分析型数据仓库

Apache Kylin 在 2014 年 10 月开源并加入 Apache 软件基金会的孵化器&#xff0c;一年后从孵化器毕业成为 Apache 顶级项目。从第一天起&#xff0c;Kylin 的标语是「Extreme OLAP Engine for Big Data」。五年来&#xff0c;Kylin 已经成为了大数据版图中一个不可或缺的角色&…

iOS开发:iPhone6、6 plus适配

本文转载至 http://jingyan.baidu.com/article/8cdccae97a5c2b315413cda9.html 1234567分步阅读随着苹果公司持续推出新产品&#xff0c;480x960的固定坐标时代悄然过去&#xff0c;iPhone6、iPhone6 plus的问世&#xff0c;无疑给了我们这些做iOS开发的&#xff0c;深刻的打击…

微信小程序——云开发实现数据库的增删查改操作

1.前期准备 在使用云开发之前需要先在app.js中初始化云开发的配置&#xff0c;上一篇文章已经提到。连接&#xff1a;https://blog.csdn.net/beekim/article/details/120977861 在云开发的数据库中新建一个集合 app.json中配置一个新的页面&#xff0c;并设置入口页面&#…

面试时被问到Redis锁怎么办?

谈起 Redis 锁&#xff0c;下面三个&#xff0c;算是出现最多的高频词汇&#xff1a;SetnxRedLockRedissonSetnx目前通常所说的 Setnx 命令&#xff0c;并非单指 Redis 的 setnx key value 这条命令。一般代指 Redis 中对 Set 命令加上 NX 参数进行使用&#xff0c;Set 这个命令…

Java反射机制的大厂面试题

Java反射机制的大厂面试题反射机制概念 Java 反射机制在程序运行时&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意一个方法和属性。这种 动态的获取信息 以及 动态调用对象的方法 的功能…

微信小程序——云开发云函数的使用

1.前期准备 新建一个文件夹作为本地云函数根目录 2.创建、部署、使用云函数 在这个根目录上点击右键->新建Node.js云函数 修改index.js中的函数内容 修改完成后需要点击addNum文件夹&#xff0c;右键->上传并部署 当函数状态变为已部署之后就可以使用了 testData(…

深入理解多线程编程

为什么要使用多线程&#xff1f;防止并发编程出错最好的办法就是不写并发程序既然多线程编程容易出错&#xff0c;为什么它还经久不衰呢&#xff1f;A&#xff1a;那还用说&#xff0c;肯定在某些方面有特长呗&#xff0c;比如你知道的【它很快&#xff0c;非常快】我也很赞同这…

uni-app做多端小程序开发的基本项目搭建(一) ——使用uniCloud实现云开发的增删改查

1.预备知识 现在有一个需求&#xff1a; 需要编写一套代码&#xff0c;可以将app的内容发布在微信小程序上或者打包成一个apk的安装包。 要完成这个需求&#xff0c;目前可以借助uni-appHbuilderX来实现。 在使用这个两个工具之前&#xff0c;需要掌握的知识有&#xff1a; …