1、前端通过OSS 来上传图片修改头像 报 400
handleFile(event) {
var client = new OSS({
region: OSSConfig.ossParams.region,
accessKeyId: OSSConfig.ossParams.accessKeyId,
accessKeySecret: OSSConfig.ossParams.accessKeySecret,
bucket: OSSConfig.ossParams.bucket,
})
var file = event.currentTarget.files[0]
let random_name = `${this.random_string(
6,
)}_${new Date().getTime()}.${file.name}`
// 上传
// client
// .multipartUpload(random_name, file, {
// progress: async function(p) {
// console.log('Progress: ' + p)
// },
// meta: {
// year: 2018,
// people: 'test',
// },
// mime: 'image/png',
// })
// .then(results => {
// // 上传完成
// const url = `${OSSConfig.uploadHost}/${results.name}`
// console.log(url)
// })
// .catch(err => {
// console.log(err)
// })
this.multipartUpload(client, random_name, file)
},
async multipartUpload(client, random_name, file) {
try {
let result = await client.multipartUpload(random_name, file, {
progress: async function(p) {
console.log('Progress: ' + p)
},
meta: {
year: 2018,
people: 'test',
},
mime: 'image/png',
})
console.log(result)
let head = await client.head(random_name)
console.log(head)
} catch (e) {
// 捕获超时异常
if (e.code === 'ConnectionTimeoutError') {
console.log('Woops,超时啦!')
// do ConnectionTimeoutError operation
}
console.log(e)
}
},
// 随机生成文件名
random_string(len) {
len = len || 32
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
var maxPos = chars.length
var pwd = ''
for (let i = 0; i < len; i++) {
pwd += chars.charAt(Math.floor(Math.random() * maxPos))
}
return pwd
},
写法换了N种 但是结果都是一样 问题的根源没有找到。
原来是bucket写错了