微信小程序文件云存储-上传下载删除功能
文件云存储
云存储提供高可用、高稳定、强安全的云端存储服务,支持任意数量和形式的非结构化数据存储,如视频和图片,并在控制台进行可视化管理。云存储包含以下功能:
- 存储管理:支持文件夹,方便文件归类。支持文件的上传、删除、移动、下载、搜索等,并可以查看文件的详情信息
- 权限设置:可以灵活设置哪些用户是否可以读写该文件夹中的文件,以保证业务的数据安全
- 上传管理:在这里可以查看文件上传历史、进度及状态
- 文件搜索:支持文件前缀名称及子目录文件的搜索
- 组件支持:支持在
image
、audio
等组件中传入云文件 ID
接下来,我们看看云文件管理提供了哪些 API、及如何在控制台中管理云文件:
示例代码
<!--pages/uploader/uploader.wxml-->
<view>文件上传管理</view>
<button bindtap="_uploader">上传文件</button>
<button bindtap="_downFile">下载文件</button>
<image src="{{imgSrc}}"/>
<button bindtap="_removeFile">删除文件</button>
// pages/uploader/uploader.js
Page({
data:{
imgSrc:''
},
_uploader(){
//1 选择文件 产生临时文件地址 -> 上传到云端
wx.chooseImage({
count: 1,//上传一张图片
success(res){
console.log(res)
// 处理文件
let tempFilePath = res.tempFilePaths[0];
let typeArr = tempFilePath.split('.');
const type = typeArr[typeArr.length-1];
const time = new Date().getTime();
const nameType = `${time}.${type}`;
// console.log(nameType)
// console.log(tempFilePath)
// return;
wx.cloud.uploadFile({
// 上传的路径
cloudPath:`img/${nameType}`,
// 获取临时路径
filePath:tempFilePath,
success:res=>{
// 返回上传文件id
console.log(res,'文件上传成功');
},
fail(err){
console.log(err,'上传错误')
}
})
}
})
},
_downFile(){
// 下载文件
// wx.cloud.downloadFile({
// // 返回链接地址 仅支持小程序中展示 cloud协议
// // cloud://text-wx55c.7465-text-wx55c-1254351324/img/1594809942978.jpg
// fileID:"cloud://text-wx55c.7465-text-wx55c-1254351324/img/1594809942978.jpg",
// success:res=>{
// console.log(res)
// this.setData({
// imgSrc:res.tempFilePath
// })
// },
// fail(err){
// console.log(err);
// }
// })
// 换取临时连接 可以在浏览器中访问链接 https 协议
wx.cloud.getTempFileURL({
fileList:['cloud://text-wx55c.7465-text-wx55c-1254351324/img/1594809942978.jpg'],
success:res=>{
console.log(res,'临时链接')
this.setData({
imgSrc:res.fileList[0].tempFileURL
})
},
fail(err){
console.log(err)
}
})
},
_removeFile(){
wx.cloud.deleteFile({
fileList:['cloud://text-wx55c.7465-text-wx55c-1254351324/img/1594809942978.jpg'],
success(res){
console.log(res,'删除文件')
},
fail(err){
console.log(err)
}
})
}
})
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634593.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现