微信小程序使用云存储存入指定文件夹
前言
在我们开发微信小程序的时候常会用到云开发的功能,它相比传统的SQL上手难度低,比较适合没有什么后端基础的开发者使用。在具体的项目需求中我们会让用户上传一些图片或者表格,随着用户量增大,文件类型增多,云存储分类显得尤其重要。下面我举一个例子来带大家体会一下~
例:在图一的页面中需要用户提交三份文件,若是没有文件分类则会像图二那样
实现存入指定文件夹
1.不妨我们将这三类文件分个类他们分别是satifactionSurvey\ fund\ activity's file(如图三)
2.我们在wxml中使用button组件并绑定一个点击函数chooseFile和携带一个参数type
-
<text class="subtitle_font">
-
2.满意度调查情况:
-
</text>
-
<button bindtap="chooseFile" class='shangchuan' data-type="sati">上传附件调查表</button>
-
-
<text class="subtitle_font">
-
3.项目资金实际情况:
-
</text>
-
<button bindtap="chooseFile" class="shangchuan" data-type="fund">附件细项<text>*</text>
-
</button>
-
-
<text class="subtitle_font">
-
4.活动文件(申报书,总结表,备忘录):
-
</text>
-
<button bindtap="chooseFile" class='shangchuan' data-type="acti">上传活动文件表
-
</button>
3.之后在JS文件中运用到一点点的技巧来减少代码冗余(简单的if判断)
-
Page({
-
data: {
-
type:"",
-
.....
-
},
-
-
onLoad(option){
-
console.log("列表所携带的信息",option)
-
id = option.id
-
wx.cloud.database().collection("summaries")
-
},
-
//第一步:选择文件
-
chooseFile(e){
-
console.log("需要上传的文件类型是",e.currentTarget.dataset.type)
-
this.setData({
-
type:e.currentTarget.dataset.type
-
})
-
let that = this
-
wx.chooseMessageFile({
-
count: 1,
-
type: 'all',
-
success (res) {
-
// tempFilePath可以作为img标签的src属性显示图片
-
const tempFilePaths = res.tempFiles
-
let tempFile = tempFilePaths[0]
-
that.uploadFile(tempFile.name,tempFile.path)
-
}
-
})
-
},
-
//第二步:通过uploadFile上传选中的文件
-
uploadFile(fileName,tempFile){
-
if(this.data.type == "sati"){
-
console.log("将要执行sati代码")
-
wx.cloud.uploadFile({
-
cloudPath:"satifactionSurvey/" fileName,
-
filePath:tempFile,
-
})
-
.then(res=>{
-
console.log("上传成功啦",res);
-
wx.showToast({
-
title: '文件上传成功',
-
icon:"success",
-
duration:2000
-
})
-
})
-
.catch(err=>{
-
console.log("上传失败啦",err);
-
})
-
}
-
if(this.data.type == "fund"){
-
console.log("将要执行fund代码")
-
wx.cloud.uploadFile({
-
cloudPath:"fund/" fileName,
-
filePath:tempFile,
-
})
-
.then(res=>{
-
console.log("上传成功啦",res);
-
wx.showToast({
-
title: '文件上传成功',
-
icon:"success",
-
duration:2000
-
})
-
})
-
.catch(err=>{
-
console.log("上传失败啦",err);
-
})
-
}
-
if(this.data.type == "acti"){
-
console.log("将要执行acti代码")
-
wx.cloud.uploadFile({
-
cloudPath:"activity's file/" fileName,
-
filePath:tempFile,
-
})
-
.then(res=>{
-
console.log("上传成功啦",res);
-
wx.showToast({
-
title: '文件上传成功',
-
icon:"success",
-
duration:2000
-
})
-
})
-
.catch(err=>{
-
console.log("上传失败啦",err);
-
})
-
}
-
},
注意:在这里cloudPath就指的是你云存储的路径记得要用双引号括起来(图四),并且前面很长很长的字符串是不需要写进来的(图五)。
在你完成上诉步骤后,就能实现比较高效的存入云存储了,并且还能分类得到,避免了文件过多而查找不到的方法。除此之外你还可以根据自己的喜好来给各个子文件分类(如图六2月份、3月份的fund之类)
结语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfjcja
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13