《微信小程序开发从入门到实战》学习四十四
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了,开心)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!