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

2023-12-13 20:02:11

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://blog.csdn.net/xy2937131682/article/details/134851696
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。