get-temp-file-url.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const demoImageFileId = require('../../../../config').demoImageFileId
  2. // 参考文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/storage/getTempFileURL.html
  3. const app = getApp()
  4. Page({
  5. onShareAppMessage() {
  6. return {
  7. title: '获取临时链接',
  8. path: 'page/cloud/pages/get-temp-file-url/get-temp-file-url'
  9. }
  10. },
  11. data: {
  12. fileTempURLDone: false,
  13. fileId: '',
  14. tempFileURL: '',
  15. maxAge: 0,
  16. loading: false
  17. },
  18. onLoad() {
  19. this.setData({
  20. fileId: app.globalData.fileId || demoImageFileId
  21. })
  22. },
  23. getTempFileURL() {
  24. const fileId = this.data.fileId
  25. if (!fileId) {
  26. return
  27. }
  28. const self = this
  29. this.setData({
  30. loading: true
  31. })
  32. wx.cloud.getTempFileURL({
  33. fileList: [fileId],
  34. success: res => {
  35. console.log('[换取临时链接] 成功:', res)
  36. if (res.fileList && res.fileList.length) {
  37. self.setData({
  38. fileTempURLDone: true,
  39. tempFileURL: res.fileList[0].tempFileURL,
  40. maxAge: res.fileList[0].maxAge
  41. })
  42. }
  43. },
  44. fail: err => {
  45. console.error('[换取临时链接] 失败:', err)
  46. },
  47. complete: () => {
  48. self.setData({
  49. loading: false
  50. })
  51. }
  52. })
  53. }
  54. })