下面的写的是上传图片、上传视频都是通过后台接口上传的。
上传图片
// 上传图片按钮方法
articIcoTab(e) {
this.chooseImage().then(res => {
obj.img = res.url
obj.delImg = res.deleteurl
addList.push(obj)
this.setData({
addList
})
}).catch(err => {
console.log('err', err)
})
}
// 上传图片封装方法
chooseImage() {
return new Promise((resolve, reject) => {
wx.chooseImage({
count: 1,
sizeType: ['original','compressed'],
sourceType: ['album', 'camera'],
success: res => {
const filePath = res.tempFilePaths[0]
// console.log(filePath)
util.showLoading('上传中....')
wx.uploadFile({
url: `${APP.config.server}/minipro/wxArticle/article/file/upload`,
filePath: filePath,
name: 'file',
formData: {
type: 0
},
header: {
"Content-Type": "multipart/form-data",
"accept": 'application/json',
"token" : APP.config.token
},
success: res => {
util.hideLoading()
// console.log(res)
util.showToast('上传成功',1)
let list = ''
if(res.data) {
list = JSON.parse(res.data)
}
// console.log(list)
resolve(list)
},
fail: err => {
console.log('err', err)
reject(err)
}
})
},
fail: e => {
console.error(e)
reject(e)
}
})
})
},
上传视频
// 上传图片按钮方法
articIcoTab(e) {
this.chooseVideo().then(res => {
obj.video = res.url
obj.delVideo = res.deleteurl
addList.push(obj)
this.setData({
addList
})
}).catch(err => {
console.log('视频上传失败', err)
})
},
// 上传视频封装方法
chooseVideo() {
return new Promise((resolve, reject) => {
wx.chooseVideo({
sourceType: ['album', 'camera'],
compressed: true,
maxDuration: 60,
camera: 'back',
success: res => {
// console.log(res.tempFilePath);
const filePath = res.tempFilePath;
util.showLoading('上传中....')
wx.uploadFile({
url: `${APP.config.server}/minipro/wxArticle/article/file/upload`,
filePath: filePath,
name: 'file',
formData: {
type: 1
},
header: {
"Content-Type": "multipart/form-data",
"accept": 'application/json',
"token" : APP.config.token
},
success: res => {
util.hideLoading()
console.log('视频上传成功', res)
util.showToast('上传成功',1)
let list = ''
if(res.data) {
list = JSON.parse(res.data)
}
// console.log(list)
resolve(list)
},
fail: err => {
console.log('err', err)
reject(err)
}
})
}
})
})
},