1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- // 参考文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/storage/uploadFile.html
- const app = getApp()
- Page({
- onShareAppMessage() {
- return {
- title: '上传文件',
- path: 'packageCloud/pages/storage/upload-file/upload-file'
- }
- },
- data: {
- theme: 'light',
- fileUploaded: false,
- fileId: '',
- filePath: '',
- fromOtherPage: false
- },
- onLoad(options) {
- this.setData({
- theme: wx.getSystemInfoSync().theme || 'light'
- })
- if (wx.onThemeChange) {
- wx.onThemeChange(({theme}) => {
- this.setData({theme})
- })
- }
- if (options.from) {
- this.setData({
- fromOtherPage: true
- })
- }
- },
- chooseImage() {
- const self = this
- wx.chooseImage({
- count: 1,
- sizeType: ['compressed'],
- sourceType: ['album'],
- success(res) {
- console.log('chooseImage success, temp path is', res.tempFilePaths[0])
- const filePath = res.tempFilePaths[0]
- wx.showLoading({
- title: '上传中'
- })
- app.getUserOpenIdViaCloud()
- .then(openid => {
- const cloudPath = `upload/${openid}${filePath.match(/\.[^.]+?$/)[0]}`
- console.log('cloudPath', cloudPath)
- wx.cloud.uploadFile({
- cloudPath,
- filePath,
- success: res => {
- console.log('[上传文件] 成功:', res)
- app.globalData.fileId = res.fileID
- self.setData({
- fileUploaded: true,
- fileId: res.fileID,
- filePath
- })
- wx.hideLoading()
- },
- fail: err => {
- console.error('[上传文件] 失败:', err)
- wx.hideLoading()
- wx.showToast({
- icon: 'none',
- title: '上传失败',
- })
- }
- })
- return openid
- })
- .catch(err => {
- console.error(err)
- wx.hideLoading()
- })
- },
- fail({errMsg}) {
- console.log('chooseImage fail, err is', errMsg)
- }
- })
- }
- })
|