我按照网上教程
client = new oss({
这边都配置好了
})
try {
//this.imgName是图片名,this.imgUrl是一个file对象
let result = await client.put(this.imgName, this.imgUrl);
console.log(result);
} catch (e) {
console.log(e);}
},
但是总是报错
到底咋整啊
我这边有封装好的写法略微和你有区别参考下哈
// 这是我用来生成文件名的
function filesName () {
return 'oss/' + (new Date()).valueOf() + '' + parseInt(Math.random() * 100)
}
function uploadImg(e, callback) {
var file = e.target.files[0]
var storeAs = filesName()
var client = new OSS.Wrapper({
accessKeyId: '', // result.AccessKeyId,
accessKeySecret: '', // result.AccessKeySecret,
endpoint: '',
bucket: ''
})
client.multipartUpload(storeAs, file).then(function (result) {
if (callback) {
// 这边的判断是为了兼容浏览器,不同的浏览器返回的数据格式会不一样
if (result.url) {
callback(result.url.split('?')[0])
} else {
callback(result.res.requestUrls[0].split('?')[0])
}
}
}).catch(function (err) {
console.log(err)
})
}
callback 方法是用来接受参数的,其中uploadImg可以直接写在input的change事件中,用法
uploadImg((url)=>{
console.log(url)
})