ssc1995 / Ltreact

0 stars 0 forks source link

upload结合腾讯云的使用 #2

Closed ssc1995 closed 5 years ago

ssc1995 commented 5 years ago

结合antd的upload,使用腾讯云存储的方法 相信很多小伙伴都没有遇到这种需求,但是我在最近的项目遇到了这样的需求,于是各种找资料,在腾讯云的api里就有将图片上传到腾讯云的详细描述。 腾讯云官网的api上传 https://cloud.tencent.com/document/product/436/11459#.E5.BC.80.E5.A7.8B.E4.BD.BF.E7.94.A8

image

image 获取鉴权凭证 实例本身鉴权凭证可以通过实例化时传入的参数控制如何或获取,有三种获取方式: 实例化时,传入 SecretId、SecretKey,每次需要签名都由实例内部计算。 实例化时,传入 getAuthorization 回调,每次需要签名通过这个回调计算完,返回签名至实例。 实例化时,传入 getAuthorization 回调,调用回调时返回临时密钥凭证,在临时密钥凭证过期后会再次调用该回调。 上传对象 简单上传接口适用于小文件上传,大文件请使用分块上传接口 document.getElementById('file-selector').onchange = function () { var file = this.files[0]; file为上传的图片信息// filelist的内容就是file的信息 fileList: [ { uid: '-1', name: 'xxx.png', status: 'done', url: 'http://www.baidu.com/xxx.png', }, ], }; if (!file) return; cos.putObject({ Bucket: 'examplebucket-1250000000', Region: 'ap-beijing', Key: '目标路径/' + file.name, Body: file, }, function (err, data) { console.log(err || data); }); }; 将获取的Bucket和Region key 以及body传至腾讯云,如果失败则返回error,成功的话会返回一个data,data.location就是图片上传成功的地址,一般会有浏览权限无法在线浏览需要进行转换,转换成功的路径可以直接预览