微信小程序笔记 云开发 上传图片到云数据库 基础(wx.chooseImage、wx.cloud.uploadFile)

news/2024/7/7 7:49:34

wx.chooseImagewx.cloud.uploadFile是小程序上传图片到云数据库的两个很重要的函数。
其中,wx.chooseImage函数的作用是选择要上传的图片、wx.cloud.uploadFile函数的作用的将文件上传到云数据库中。
它们的详细参数可以在微信官方文档中查到:
在这里插入图片描述
在这里插入图片描述

下面举几个示例来看看这两个函数的用法:
一、wx.chooseImage函数的返回值
示例:
wxml:

<button type="primary" bindtap="uploadPhoto" >上传图片</button>

js:

Page({

  data: {

  },

  uploadPhoto: function() {
    wx.chooseImage({
      count:2,
      sizeType:'compressed',
      sourceType:['album', 'camera'],
      success:res=>{
        console.log(res)
      }
    })
  },

  onLoad: function (options) {

  },
})

前端效果图:
在这里插入图片描述

后端运行结果:
在这里插入图片描述
其中,wx.chooseImage函数返回的res中,tempFilePaths和tempFiles是最重要的。
二、两个函数联合使用实现上传图片到云数据库
示例:
wxml:

<button type="primary" bindtap="uploadPhoto" >上传图片</button>

js:

Page({

  data: {

  },

  uploadPhoto: function() {
    wx.chooseImage({
      count:1,
      sizeType:'compressed',
      sourceType:['album', 'camera'],
      success:res=>{
        // console.log(res.tempFilePaths[0])
        var photoTempPath = res.tempFilePaths[0]
        this.uploadPhotoToDatabase(photoTempPath)
      }
    })
  },

  uploadPhotoToDatabase: function(photoTempPath) {
    wx.cloud.uploadFile({
      cloudPath:"photo/"+Date.now()+".jpg",
      filePath:photoTempPath
    })
    .then(res=>{
      console.log(res)
    })
  },

  onLoad: function (options) {

  },
})

前端效果图:
在这里插入图片描述
后端运行结果:
在这里插入图片描述
其中,wx.cloud.uploadFile函数返回的res中,fileID是最重要的。
数据库运行结果:
在这里插入图片描述
成功上传图片到云数据库。
三、改进:加了些提示框

js:

Page({

  data: {

  },

  uploadPhoto: function() {
    wx.chooseImage({
      count:1,
      sizeType:'compressed',
      sourceType:['album', 'camera'],
      success:res=>{
        // console.log(res.tempFilePaths[0])
        var photoTempPath = res.tempFilePaths[0]
        this.uploadPhotoToDatabase(photoTempPath)
      }
    })
  },

  uploadPhotoToDatabase: function(photoTempPath) {
    wx.showLoading({
      title:"正在上传......"
    })
    wx.cloud.uploadFile({
      cloudPath:"photo/"+Date.now()+".jpg",
      filePath:photoTempPath,
      success(res) {
        console.log(res)
        wx.hideLoading()
        wx.showToast({
          title:"上传成功!",
          duration:2000
        })
      },
      fail(res) {
        console.log(res)
        wx.hideLoading()
        wx.showToast({
          title:"上传失败,请检查网络!",
          icon:"none",
          duration:2000
        })
      }
    })    
  },

  onLoad: function (options) {

  },
})

上传成功后弹出的提示框:
在这里插入图片描述
上传失败后弹出的提示框:
在这里插入图片描述


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

相关文章

微信小程序笔记 表单用自定义的input组件(把input写入组件中)

参考了这篇文章。 示例&#xff1a; 一、自定义组件&#xff1a;myInput myInput.wxml&#xff1a; <input placeholder"{{myPlaceHolder}}" bindinput"getInputValue"></input>myInput.wxss&#xff1a; input{border: 1px solid #000; }m…

HDG 深圳站:开发者走上台前,收官之战侧重应用创新

文/华为开发者社区 12 月 24 日平安夜&#xff0c;等不到初雪的深圳下了一场淅淅沥沥的小雨。褪去了平日喧闹的深圳湾软件产业基地&#xff0c;沉浸在红色的节日气氛里。这一天&#xff0c;除了平安夜&#xff0c;也是 “HDG 华为开发者汇”本年度的收官之夜&#xff0c;为此华…

磁盘存储空间

今天将磁盘里的文件备份好后&#xff0c;准备重装系统。 在重装系统之前&#xff0c;反正磁盘都要被格式化&#xff0c;倒不如先研究一下磁盘。 &#xff08;在想起写这篇博客之前&#xff0c;我已经删除了磁盘上大部分的文件夹了&#xff09; 一、磁盘概况 我研究的是磁盘0&…

TensorFlow笔记 安装

安装过程很曲折 首先&#xff0c;Python必须是3.5-3.7版本的&#xff1a; 具体见TensorFlow官网 而现在的Anaconda的Python是3.8版本的&#xff1a; 这可能是我之前下载TensorFlow库一直失败的原因之一。&#xff08;看官方网站/文档很重要&#xff01;&#xff09; 所以&am…

Elasticsearch 索引的映射配置详解

2019独角兽企业重金招聘Python工程师标准>>> 概述 Elasticsearch 与传统的 SQL数据库的一个明显的不同点是&#xff0c;Elasticsearch 是一个 非结构化 的数据库&#xff0c;或者说是一个 无模式 的数据库。Elasticsearch 中数据最重要的三要素当属&#xff1a;索引…

TensorFlow笔记 基础

数据类型 设备 有些数据类型不能在gpu中创建&#xff1a; 维度 Tensor转化为numpy 判断是否为Tensor 方法一&#xff1a;is_tensor 方法二&#xff1a;isinstance dtype numpy转化为Tensor dtype的转化 变量Variable

聊聊代码提交那些事

文/庄表伟 华为公司内源社区平台架构师&#xff1b;开源社理事 1997 年毕业于华东师范大学&#xff0c;曾任盛大创新院的高级研究员、印客网的技术总监。多年来一直在编程的第一线&#xff0c;并以 Coding 为最大的乐趣。著有一本电子书《开源思索集》&#xff0c;在豆瓣、简书…

TensorFlow笔记 创建Tensor

numpy转化为Tensor list转化Tensor zeros ones 同zeros fill 填充为相同的值 random 随机初始化 正态分布 均匀分布