【微信小程序】使用云存储存入指定文件夹

这篇具有很好参考价值的文章主要介绍了【微信小程序】使用云存储存入指定文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在我们开发微信小程序的时候常会用到云开发的功能,它相比传统的SQL上手难度低,比较适合没有什么后端基础的开发者使用。在具体的项目需求中我们会让用户上传一些图片或者表格,随着用户量增大,文件类型增多,云存储分类显得尤其重要。下面我举一个例子来带大家体会一下~

例:在图一的页面中需要用户提交三份文件,若是没有文件分类则会像图二那样

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图一(每个用户需要提交三个文件)

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图二(云存储里文件分布十分混乱)


实现存入指定文件夹

1.不妨我们将这三类文件分个类他们分别是satifactionSurvey\ fund\ activity's file(如图三)

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图三

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就指的是你云存储的路径记得要用双引号括起来(图四),并且前面很长很长的字符串是不需要写进来的(图五)。

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图四,存入指定文件的方法

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图五,红框这一大窜字符是不用加入到路径里面的

在你完成上诉步骤后,就能实现比较高效的存入云存储了,并且还能分类得到,避免了文件过多而查找不到的方法。除此之外你还可以根据自己的喜好来给各个子文件分类(如图六2月份、3月份的fund之类)

【微信小程序】使用云存储存入指定文件夹,微信原生小程序,JS,前端,微信小程序,javascript,Powered by 金山文档

图六,给每个子文件又分日期


结语

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!文章来源地址https://www.toymoban.com/news/detail-518812.html

到了这里,关于【微信小程序】使用云存储存入指定文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用setData修改数组中的指定下标的属性值

    因为小程序中分有逻辑层和渲染层等。所以需要用setdata函数,渲染到视图界面。普通的修改属性是通过 this.setData({aa:true}) 的方法设置,但是本人遇到一种情况,需要通过下标区改变数组某一项中的某属性的值,方法如下: 结构: js: 备注:通过 let checkProp = \\\"rightRoomList[\\\" +

    2024年02月15日
    浏览(39)
  • 微信小程序使用云存储和Markdown开发页面

    最近想在一个小程序里加入一个使用指南的页面,考虑到数据存储和减少页面的开发工作量,决定尝试在云存储里上传Markdown文件,微信小程序端负责解析和渲染。小程序端使用到一个库Towxml。 Towxml是一个可将 HTML 、 Markdown 转为微信小程序 WXML (WeiXin Markup Language)的渲染库。用

    2024年02月10日
    浏览(39)
  • 使用微信小程序云存储中的fileID渲染出错的解决

    [渲染层网络层错误] Failed to load local image resource /pages/center/cloud://cloud1-1g0b42x731618183.636c-cloud1-1g0b42x731618183-1317112875/avatarUrl/%E5%A4%B4%E5%83%8F_2cc84e26640db55d04179fe54c4fb585_1678620824098.png  the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error) (env: Windows,mp,1.06.2301160; lib: 2.14.1)  导致

    2024年02月10日
    浏览(47)
  • 【微信小程序】扫描外部二维码、小程序码进入并获得携带参数,使用参数跳转到指定页面

    您需要使用微信提供的跳转链接和相关参数。以下是实现的步骤: 生成跳转链接:使用以下链接格式生成跳转链接,其中 APPID 是您的小程序的 AppID, PATH 是您要跳转的页面路径, QUERY 是您要传递的参数。 生成二维码:使用生成的跳转链接生成二维码。您可以使用在线的二维

    2024年02月08日
    浏览(60)
  • 微信小程序使用本地存储方法(wx.setStorageSync()和wx.getStorageSync())

    微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现,这里为您介绍一下使用本地存储的流程。 设置数据:使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中。例如,要将名为\\\"username\\\"的用户名称存储到本地存储中,可以使用以下代码:

    2024年02月11日
    浏览(54)
  • 微信小程序使用本地存储方法wx.setStorageSync()和wx.getStorageSync()

    微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现 使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中: 获取数据:使用wx.getStorageSync()方法可以从本地存储中获取数据: 更新数据:要更新已经存在的数据,只需重新使用wx.setStorageSync

    2024年02月11日
    浏览(54)
  • Django后台和微信小程序之间使用session方法,出现小程序访问404,Django后台找不到指定的URL问题解决

    在Django后台开启session中间件,小程序端请求Django后台的session属性,在Django中执行session会话操作,并响应应答给小程序,在小程序端执行cookie的缓存和读取操作。 在上述的功能完成后,小程序端访问时出现404错误,Django后台找不到指定的URL路径。 1、排查Django后台的URL路径是

    2024年02月06日
    浏览(46)
  • 【微信小程序】下载文件到本地并使用

    1.使用小程序文件管理API (wx.getFileSystemManager()) 2.1 判断要下载的文件是否存在(accessSync)于本地 通过 try 去判断 进入catch则 没有存在于本地 2.2 通过wx.downloadFile  设置filePath 下载文件保存本地 3.读取(readFileSync)本地文件并使用 catch 处理未加载到数据 重新 wx.downloadFile  设置

    2024年02月09日
    浏览(159)
  • 微信小程序使用webview实现文件上传功能

    项目开发了一个批示单的功能,用户填写批示单信息要上传正文及附件(多文件上传,有需要可在文章末尾查看),上传文件功能原调用的是uni.chooseMessageFile方法选择聊天记录中文件。 问题:用户在电脑端打开小程序后发现选择文件按钮点击无反应。 百度后发现此方法电脑

    2024年03月14日
    浏览(58)
  • MFC的文件操作——获取指定文件夹下面所有文件路径和删除指定文件夹下面所有文件

    目录 1.获取指定文件夹下面所有文件路径  2.删除指定文件夹下面所有文件 3.MFC的CString 字符串操作 4.MFC的 Int类型 与 Htuple类型数据之间转换  5.上述提及的函数应用 6.MFC与Halcon联合编程,获取halcon异常 7.MFC获取指定路径下的文件夹路径           ①、文件夹路径获取方式 ②

    2024年02月16日
    浏览(110)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包