17.SpringCloud Alibaba-OSS
开通阿里云OSS
https://www.aliyun.com/product/oss?spm=5176.19720258.J_3207526240.32.e93976f4xq6CZt
创建Bucket
设置access_key和secret_key
获取endpoint
添加一个微服务用于第三方接口
上传图片到OSS
由于上传需要验证所以我们一般不会让前端直接连接OSS,那样需要再前端暴露出OSS的密钥。所以一般我们都是前端上传到后端,后端接收文件流后再调用OSS上传。这样操作虽然可以,但是接收数据流处理很耗费服务器性能,现在的方式:
前端请求后端生成一个用于上传OSS的临时签名,前端使用这个临时签名上传图片到OSS。
再微服务提供一个方法用来生成临时签名:
前端获取到临时签名后上传图片到OSS:
上传图片失败,出现跨域问题:
设置OSS允许跨域:
再试一次:
403 You have no right to access this object because of bucket acl.
报上面这个错误,原因是没有给accesskey的这个用户设置权限:
再上传一次试试:
上传成功