美文网首页
《微信小程序开发从入门到实战》学习四十四

《微信小程序开发从入门到实战》学习四十四

作者: 阿宅白石 | 来源:发表于2023-12-06 14:33 被阅读0次

4.3 云开发文件存储

4.3.4 删除文件

在小程序端和云函数端,都可以调用API删除云空间中的文件,这两个API的参数和回调函数参数都是一样。每次调用API最多删除50个文件。使用方法如下代码所示:

// 回调风格的API

wx.cloud.deleteFile({

    fileList: ['cloud://xxx/example.png'], // FileID数组

    success: res => {

      // handle success

      console.log(res.fileList) //fileList是一个Object[]数组,

    },

    fail: err => {

      //handle err

    }

  })

执行成功后,res.fileList属性即Object数组,有一个Object对象,该对象有三个字段,fileID,status和errMsg。status为状态码,为0表示删除成功,errMsg为删除操作得到的信息,成功为OK,失败返回失败原因。

(代码敲完,忘了在fileList修改添加真正的fileID,保存编译后返回status为1,errMsg为"STORAGE_FILE_NONEXIST"。修改成功后,status为0,errMsg为OK,开心。

之后将文件夹中图片的fileID添加入fileList,再执行删除操作。在云开发平台文件存储看到文件消失,但文件夹还在,返回上一级刷新后,文件夹消失了。看来空文件夹刷新后会消失

4.3.6 获取文件临时url

有时需要用云空间中的文件FileID获取文件的真实链接,可以通过wx.cloud.getTempFileURL方法来实现,代码如下:

  // 回调风格的API

  wx.cloud.getTempFileURL({

    fileList: ['cloud://xxx.png'],

    success: res => {

      console.log(res.fileList)

      /*

      fileList 是一个有如下结构的对象数组

      [{

        fileID: 'cloud://xxx.png', 文件ID

        tempFileUrl: '', 文件的临时网络链接

        maxAge: 120 * 60 * 1000,// 有效期,单位为秒,默认为86400秒,即一天

      }]

      实际执行成功后发现里面还有两个参数status,为0成功,errMsg为ok

      */

    },

    fail: err => {

      // handle err

    }

  })

  // Promise风格的API

  wx.cloud.getTempFileURL({// 将fileList参数改为Object[]类型,可以自定义临时URL的有效时间

    fileList: [{

      fileID: 'cloud://xxx.png',

      maxAge: 60 * 60, // 修改有效时间为1小时,最大不能超过1天

    }]

  }).then(res => {

    // get temp file URL

    console.log(res.fileList)

  }).catch(error => {

    // handle error

  })

(回调函数执行完毕,返回的maxAge真的变为3600了,不再是864000了,开心)

相关文章

网友评论

      本文标题:《微信小程序开发从入门到实战》学习四十四

      本文链接:https://www.haomeiwen.com/subject/xryjgdtx.html