vue上传图片到阿里云报错

我按照网上教程
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);}
},

但是总是报错图片说明
到底咋整啊

2个回答

zm-mark.oss-cn-hangzhou.aliyuncs.com.aliyuncs.com这个域名是不是写错了,出现了两次aliyuncs.com

hsCBY
hsCBY 额,应该没错的,region:oss-cn-hangzhou.aliyuncs.com,不过为啥显示出来是这样我就不知道了。。。,想问下oss.put(a,b)第一个参数是自己随便起的名字吗,还是有规定,第二个参数是不是直接一个file对象(e.target.files[0]),要不要进行数据转换之类的操作
4 个月之前 回复

我这边有封装好的写法略微和你有区别参考下哈

//  这是我用来生成文件名的
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)
})

hsCBY
hsCBY 哦哦,解决了,是oss配置错了,后台传的有问题
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问