微信小程序文件云存储-上传下载删除功能
文件云存储
云存储提供高可用、高稳定、强安全的云端存储服务,支持任意数量和形式的非结构化数据存储,如视频和图片,并在控制台进行可视化管理。云存储包含以下功能:
- 存储管理:支持文件夹,方便文件归类。支持文件的上传、删除、移动、下载、搜索等,并可以查看文件的详情信息
- 权限设置:可以灵活设置哪些用户是否可以读写该文件夹中的文件,以保证业务的数据安全
- 上传管理:在这里可以查看文件上传历史、进度及状态
- 文件搜索:支持文件前缀名称及子目录文件的搜索
- 组件支持:支持在
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