Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】《微信小程序与云开发从入门到实践》048-使用云存储

【愚公系列】《微信小程序与云开发从入门到实践》048-使用云存储

原创
作者头像
愚公搬代码
发布于 2025-01-27 16:19:03
发布于 2025-01-27 16:19:03
27604
代码可运行
举报
运行总次数:4
代码可运行

标题

详情

作者简介

愚公搬代码

头衔

华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。

近期荣誉

2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。

博客内容

.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

欢迎

👍点赞、✍评论、⭐收藏

🚀前言

在信息技术飞速发展的今天,数据的存储和管理变得尤为重要。对于微信小程序的开发者而言,如何高效、安全地存储和访问用户数据、应用资源,直接影响到小程序的性能和用户体验。云存储作为一种现代化的数据存储解决方案,以其灵活性、可扩展性和高可用性,成为了小程序开发中的重要工具。

本文将深入探讨微信小程序中云存储的使用,包括云存储的基本概念、核心功能以及在实际开发中的应用场景。我们将介绍如何利用微信云存储服务来管理文件的上传、下载和删除等操作,帮助开发者轻松应对各种数据存储需求。同时,我们还将分享一些最佳实践和常见问题解决方案,以确保您在使用云存储时能够获得最佳的开发体验。

🚀一、使用云存储

云数据库主要用来存储结构化的数据,云存储能力则主要提供远端储存文件的功能,最常见的场景是对图片文件、音频文件和视频文件的云存储支持。

🔎1.在小程序中使用云存储功能

🦋1.1 云存储的应用场景

在小程序中,存储文件到本地存储是常见的做法,但这只能保证文件在当前设备上可用。如果用户切换设备或卸载了微信应用,文件可能无法再访问。这时,云存储 能够提供解决方案,使文件跨设备、跨平台可用。

应用场景:

  • 用户切换设备时,文件依然可用。
  • 用户卸载微信后,再次安装微信时,仍可访问存储在云端的文件。

🦋1.2 示例工程 - cloudStorageDemo 页面

在示例工程中,创建了一个名为 cloudStorageDemo 的页面,用于演示如何在小程序中使用云存储功能。具体操作包括文件的上传、下载和删除。

🦋1.3 上传文件到云存储

上传文件到云存储的流程如下:

  1. 下载文件:首先,使用 wx.downloadFile() 下载一个文件到本地。
  2. 上传到云存储:然后,调用 wx.cloud.uploadFile() 将下载的文件上传到云存储。

示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  onLoad: function(options) {
    // 初始化云开发环境
    wx.cloud.init({
      env: 'cloud1-4ghg65i9b5531b77'
    });
  },
  
  upload: function() {
    // 从互联网下载文件
    wx.downloadFile({
      url: 'http://huishao.cc/img/head-img.png', // 文件的网络路径
      success: (res) => {
        // 上传到云存储
        wx.cloud.uploadFile({
          filePath: res.tempFilePath, // 本地临时文件路径
          cloudPath: '1.png', // 云存储中的文件路径
          success: function(info) {
            console.log(info); // 输出上传成功的信息
          }
        });
      }
    });
  }
});
  • wx.cloud.uploadFile():将本地文件上传到云存储。
  • filePath:上传的本地文件路径,必须是本地路径。
  • cloudPath:云存储中的文件路径,可以自定义文件名。

上传成功后,回调函数的 info 参数中会返回一个 fileID,这是云存储中文件的唯一标识符。通过这个 fileID,可以直接访问和操作云存储中的文件。

🦋1.4 下载云存储中的文件到本地

要将云存储中的文件下载到本地,使用 wx.cloud.downloadFile() 方法。传入文件的 fileID,即可下载文件到本地路径。

示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.cloud.downloadFile({
  fileID: 'cloud://cloud1-4ghg6519b5531b77.636c-cloud1-4ghg65i9b5531b77-1308596385/1.png', // 云存储中的文件ID
  success: function(res) {
    console.log(res.tempFilePath); // 输出下载后的本地文件路径
  }
});
  • fileID:云存储中文件的唯一标识符。
  • tempFilePath:下载到本地的临时文件路径。

🦋1.5 删除云存储中的文件

删除文件的方法也与下载类似,通过文件的 fileID 来进行操作。使用 wx.cloud.deleteFile() 删除云存储中的文件。

示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.cloud.deleteFile({
  fileList: [
    'cloud://cloud1-4ghg6519b5531b77.636c-cloud1-4ghg65i9b5531b77-1308596385/1.png' // 云存储中文件的fileID
  ],
  success: function(res) {
    console.log(res); // 输出删除操作结果
  }
});
  • fileList:一个包含多个 fileID 的数组,可以一次删除多个文件。

🦋1.6 与云存储相关的关键方法

小程序云存储中最常用的三个方法是:

  1. 文件上传:使用 wx.cloud.uploadFile() 将本地文件上传到云存储。
  2. 文件下载:使用 wx.cloud.downloadFile() 下载云存储中的文件到本地。
  3. 文件删除:使用 wx.cloud.deleteFile() 删除云存储中的文件。

🦋1.7 使用云文件在小程序中展示

某些小程序原生组件(如 imageaudio 等)支持直接通过云文件的 fileID 来使用云存储的文件。例如,可以直接将 fileID 绑定到 image 组件的 src 属性,来显示云存储中的图片。

示例代码(展示图片):

代码语言:html
AI代码解释
复制
<image src="{{fileID}}"></image>

🦋1.8 总结

  • 云存储:通过云存储,可以将文件存储到云端,实现跨设备访问和数据持久化。
  • 文件上传:使用 wx.cloud.uploadFile() 上传文件到云存储,上传成功后返回 fileID
  • 文件下载:使用 wx.cloud.downloadFile() 下载云存储中的文件到本地。
  • 文件删除:使用 wx.cloud.deleteFile() 删除云存储中的文件。
  • 组件使用:某些小程序原生组件(如 imageaudio)支持直接使用云存储中的文件。

云存储为小程序提供了一个稳定的解决方案,确保文件在设备间的同步与跨平台访问,极大地增强了数据的可用性与可靠性。

🔎2.云存储文件管理

🦋2.1 云存储管理模块概述

云开发控制台 中,存储模块主要包括以下几个管理功能:

这些功能帮助开发者更加高效地管理和使用云存储中的文件。

🦋2.2 存储管理

存储管理 主要用于对云文件的上传、删除以及文件夹管理。

  • 文件上传与删除:可以直接上传文件到云存储,也可以删除已有的文件。
  • 文件夹管理:支持上传文件夹或创建新文件夹,方便文件的组织和管理。
  • 查看文件信息:对于已经上传的文件,用户可以查看其详细信息,如:
    • 文件大小
    • 文件格式
    • 上传者
    • 最后更新时间
    • 下载地址
    • 文件ID
在这里插入图片描述
在这里插入图片描述

🦋2.3 权限管理

云文件权限管理数据库权限管理 类似,主要是对文件的 可读性可写性 进行控制。权限管理可以根据不同的应用场景设置适当的权限:

  • 公开文件:对于公开文件,可以设置为 所有用户可读,或者 仅创建者可读写
  • 私有文件:对于私有文件,通常只允许文件的创建者进行读取和写入操作。
在这里插入图片描述
在这里插入图片描述

🦋2.4 缓存配置

缓存配置 是针对云文件的缓存规则进行设置。合理的缓存配置可以显著提升文件访问的效率,并节省流量消耗。

  • 缓存配置:合理设置缓存时间,能够避免频繁的文件下载,提高用户体验,并减少带宽消耗。

🦋2.5 图片处理

云存储提供了强大的 图片处理 功能,支持图片的裁剪和缩放。许多场景中,同一张图片可能需要根据不同需求进行不同的裁剪和缩放。

  • 图片处理功能:可以设置不同的图片处理样式,统一管理图片的裁剪和缩放,确保在各种场景中都能以合适的尺寸和格式展现图片。

如图11-19所示。

🦋2.6 文件命名规则

在使用云存储时,上传的文件名需要遵循一定的规则,以确保文件能够正常存储和管理。具体规则如下:

  1. 文件名不能为空
  2. 文件名不能以“/”开头
  3. 文件名中不能出现连续的“/”符号
  4. 文件名的最大长度为850个字节
  5. 文件名中不支持 ASCII 控制字符
  6. 文件名中包含中文时,中文部分会按照 URL Encode 规则进行编码。

🦋2.7 总结

  • 存储管理:支持文件上传、删除、文件夹创建以及查看文件详细信息。
  • 权限管理:可以设置文件的访问权限(公开、私有等),根据需求控制文件的可读写性。
  • 缓存配置:合理配置缓存时间,以提高效率并节省流量。
  • 图片处理:统一管理图片的裁剪和缩放,以适应不同的使用场景。
  • 文件命名规则:确保文件名遵守一定规则,如长度限制、不能使用控制字符等。

通过这些功能,开发者能够更方便、高效地管理云存储中的文件,提升用户体验,减少资源消耗。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序云存储(文件上传到云端)
  我们直到,云开发控制台更多的是对项目中的初始文件的操作管理,例如项目的Logo图片可以通过云开发控制台提起上传到云端。项目在执行的过程中也会涉及文件的操作,例如用户上传图片的操作,这时就需要用到云开发存储API。
别团等shy哥发育
2023/02/25
7K0
微信小程序云存储(文件上传到云端)
如何进行小程序云存储开发
上一篇文章如何进行小程序云函数开发我们介绍了如何在小程序端调用云函数,使用云函数可以弱化后端和运维操作,使用平台原生 API 进行核心业务开发,实现快速上线和迭代。
区城轩
2019/01/29
16.1K1
如何进行小程序云存储开发
微信小程序与云开发
Java、NodeJS、JavaScript、HTML5、CSS3、VueJs、ReactJs、前端工程化、前端架构
达达前端
2019/08/05
9.3K0
微信小程序与云开发
TCB系列学习文章——云开发的云存储篇(六)
云开发为开发者提供了存储空间、将文件上传到云端存储空间内以及带权限的云端文件下载能力,开发者可以使用云开发控制台或使用 SDK 调用接口来使用存储功能。
F颜
2020/06/30
1.8K0
【愚公系列】《微信小程序与云开发从入门到实践》049-使用云函数
在微信小程序的开发过程中,如何高效地处理业务逻辑和实现复杂功能是每位开发者面临的挑战。云函数作为一种灵活、高效的无服务器计算解决方案,为小程序提供了强大的后台支持,使得开发者能够在云端运行代码,而无需关心服务器的管理与维护。这种架构不仅简化了开发流程,还提升了应用的可扩展性和安全性。
愚公搬代码
2025/01/28
3020
微信小程序开发技巧总结(二) -- 文件的选取、移动、上传和下载
也为其提供了视频和图片的二合一接口,这个接口不建议调用,图片和视频的上传建议区分开。
Kindear
2020/02/23
2.2K0
小程序云开发使用体验
这里发现直接更新有点慢,直接下载最新版然后覆盖比较快,打开最新的开发者工具之后会发现多了个云开发:
Bug生活2048
2018/10/09
2.3K0
小程序云开发使用体验
【愚公系列】《微信小程序与云开发从入门到实践》051-天气预报小程序的开发(数据准备)
随着智能手机的普及和小程序生态的快速发展,天气预报小程序逐渐成为人们生活中获取天气信息的重要工具。用户希望随时随地了解最新的天气状况,以便更好地安排出行和日常活动。然而,要开发一款高质量的天气预报小程序,数据的准备和处理至关重要。
愚公搬代码
2025/01/29
1490
微信小程序云开发
微信小程序有一个云开发的功能,可以省去很多的后台开发的任务。不过,使用小程序云开发需要注册的小程序appid,测试和游客没有云开发功能的。如果你还没有注册小程序可以安装官方的文档说明先注册一个小程序appid。
xiangzhihong
2021/01/21
10.2K0
TCB系列学习文章——搭建你的第一个云开发小程序(二)
ps:此篇文章只是超简单的搭建一个云开发小程序,后续会一一讲解各部分的详细使用方法和使用场景。
F颜
2020/06/24
1.4K1
TCB系列学习文章——搭建你的第一个云开发小程序(二)
微信小程序云开发
微信小程序有一个云开发的功能,可以省去很多的后台开发的任务。不过,使用小程序云开发需要注册的小程序appid,测试和游客没有云开发功能的。如果你还没有注册小程序可以安装官方的文档说明先注册一个小程序appid。
xiangzhihong
2021/01/22
12.3K0
微信小程序云开发
微信小程序有一个云开发的功能,可以省去很多的后台开发的任务。不过,使用小程序云开发需要注册的小程序appid,测试和游客没有云开发功能的。如果你还没有注册小程序可以安装官方的文档说明先注册一个小程序appid。
xiangzhihong
2022/11/30
8.1K0
必看!巧用小程序云开发,后端开发流程缩短80%的秘密
嘿,各位程序猿、媛们!今天小编要带大家解锁一个超厉害的技能 —— 小程序云开发。这可不是一般的开发方式哦,它能让后端开发流程像坐了火箭一样,嗖地缩短 80%!是不是很心动?别着急,接下来小编就一步步带你揭开这个神奇的面纱。
小白的大数据之旅
2025/03/18
1620
【愚公系列】《微信小程序与云开发从入门到实践》037-文件下载与上传
随着小程序的不断发展,它们已经成为了用户日常生活中不可或缺的工具。无论是购物、社交还是信息分享,小程序都在其中发挥着重要的作用。在这些功能的背后,文件的下载与上传是实现数据交互和用户体验的重要环节。
愚公搬代码
2025/01/24
3000
微信小程序云开发入门详细教程
通过以上清晰的对比,我们可以看出,如果小团队想要快速创建一个小程序的后台,用云开发是一个很好的选择。
bug开发工程师007
2024/11/13
3.8K3
小程序云开发初探
云开发是微信平台新开放的功能,为开发者提供集成了服务器,数据库和资源存储的云服务。本文将基于官方文档,以一个小例子来作为探索云开发的相关功能。
用户2356368
2019/04/03
3.2K0
小程序云开发初探
结合腾讯云开发微信小程序
目前,微信小程序越来越流行,而且功能越来越强大,在性能方面也越做越好。因为能够原生调用小程序提供的组件和 API ,小程序的开发快捷,使用方便,越来越多的产品会落地到微信小程序上。但传统的微信小程序开发,和普通的H5页面开发或者原生APP开发相比,只是改变了前端部分的开发方式,,还是离不开厚重的后台开发。
用户2970331
2018/09/05
44.4K1
结合腾讯云开发微信小程序
从小程序到小程序云开发
集成于小程序控制台的原生serverless云服务 核心功能包括: 云存储,云数据库,云函数
达达前端
2019/08/20
2.4K0
微信小程序云开发实现图片的上传、存储、访问
我们在进行项目开发时,经常需要处理用户上传的图片,如果用传统的后端开发,处理起来是比较繁琐的。微信小程序云开发提供了一系列API供开发者完成想要的效果。 下面我们要实现用户图片的上传、存储及访问。
kif
2023/02/27
5K0
微信小程序云开发实现图片的上传、存储、访问
TCB系列学习文章——云开发的那些SDK
在 flutter 项目的 pubspec.yaml 文件的 dependencies 中添加需要的插件,例如:
F颜
2021/04/05
1.9K1
推荐阅读
相关推荐
微信小程序云存储(文件上传到云端)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档