本文介绍: / tempFilePath一个string[]类型的值,数组的每一项代表用户选取图片临时地址filePath: ‘/imgs/StockSnap_MUT1M3ZKZX.jpg‘, //本地文件路径文件存储功能支持任意数量和格式的文件(如图片视频保存云端支持文件夹的形式将文件归类。如果希望将文件上传空间某个文件夹下,只需要文件夹名称放入cloudPath,加上“/”.// 使用回调风格的API上传文件,会返回一个uploadTask对象

4.3 云开发文件存储

文件存储功能支持任意数量和格式的文件(如图片视频保存云端支持文件夹的形式将文件归类。

在云开发控制台中,可以云端保存的文件进行管理

可以通过文件存储API对文件进行上传删除移动下载搜索操作

4.3.1 在控制台管理文件存储

开发控制台的文件存储管理页面下图所示

在云开发控制平台管理文件存储的操作方式网盘相似 ,

单击按钮可以实现上传文件,删除文件,新建文件夹删除文件夹。在文件列表查询文件名称、FileID、文件大小更新时间信息,在当前路径通过文件名称的前缀搜索文件。

    上传的文件有一个唯一的FileID,在小程序基础库2.3.0以上的版本image组件video文件组件支持开发的FileID,可通过src属性使用对应文件的FileID,代码如下

  <image src=”cloud://test-8-1322735059/test.png“/&gt;

控制台中,可对文件存储的权限设置进行修改

云开发控制台服务端API始终有所有文件的读/写权限

小程序端API的权限控制提供了四个级别的权限如下所示

权限规则 使用场景
所有用户可读,仅创建者可读/写 用户头像用户公开相册
创建者可读/写 私密相册、网盘文件等
所有用户可读(仅管理端可写) 文章配图、商品图片
所有用户不可读/写(仅管理端可读/写) 业务日志

(刚刚意识到创建者不是代码创建者,而是指用户创建自己用户头像相册这个创建者。)

4.3.2 上传文件

小程序端和云函数,可使用API将文件上传至云空间文件存储空间。

上传文件与下载文件的小程序API与服务端API不太一样。

小程序端,使用wx.cloud.uploadFile可以将本地文件上传至云空间,代码如下

    // 使用回调风格的API上传文件,会返回一个uploadTask对象

   const uploadTask = wx.cloud.uploadFile({

     cloudPath: ‘example.png‘, //上传至云端的路径

     filePath: ‘/imgs/StockSnap_MUT1M3ZKZX.jpg‘, //本地文件路径

     successres =&gt; {

       // 上传成功后会返回文件的FileID

       // 可以根据具体的使用需求对FileID进行一些操作例如与其他相关信息一起保存数据库

       console.log(res.fileID)

     },

     fail: err =&gt; {

      console.log(err)

     }

   })

   // 在uploadTask 对象可以设置上传进度监听回调

   uploadTask.onProgressUpdate(res =&gt; {

     console.log(‘上传进度‘, res.progress)

     console.log(‘已经上传的数据进度‘, res.totalBytesSent)

     console.log(‘预期需要上传的数据长度‘, res.totalBytesExpectedToSend)

   })

   // 也可以通过uploadTask上面的abort方法取消上传任务

   // uploadTask.abort()

   //上传文件同样也支持Promise风格的API,但是不再返回uploadTask对象

   wx.cloud.uploadFile({

     cloudPath:’example.jpg‘,

     filePath: ‘/imgs/StockSnap_MUT1M3ZKZX.jpg

   }).then(res => {

     //get resource ID

     console.log(res.fileID)

   }).catch(error => {

     //handle error

   })

如果云空间已经存在该文件,则上传时会覆盖源文件

如果希望将文件上传云空间的某个文件夹下,只需要将文件夹名称放入cloudPath,加上“/”.

cloudPath: ‘test/example.png’

上传文件的本地路径可以通过小程序提供的一些API获取比如相册选取图片的APIwx.chooseImage,代码如下

wx.chooseImage({

     count: 1,//最多选取几张图片

     success(res) {

       // tempFilePath一个string[]类型的值,数组的每一项代表了用户选取图片临时地址

       const tempFilePaths = res.tempFilePaths

       wx.cloud.uploadFile({

         cloudPath: ‘test/example.jpg‘,

         filePath:tempFilePaths[0] //由于限制count为1,因此数组中只有1个元素

       })

     }

   })

原文地址:https://blog.csdn.net/xy2937131682/article/details/134804247

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_48926.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注