腾讯云COS对象存储 Web 端直传实践(JAVA实现)

时间:2024-04-05 21:12:27

使用 腾讯云COS对象存储做第三方存储云服务,把一些文件都放在上面,这里主要有三中实现方式:
第一种就是在控制台去设置好,直接上传文件。
第二种就是走服务端,上传文件,就是说,上传文件是从服务端去上传上去的,这样子对于服务端的压力是非常大的,特别是IM系统,用户发送的图片,文件如果都走服务端然后在上传文件到COS的话,用户访问量一旦多,会非常难控制
第三种就是web 直传,在客户端上传文件到 COS,服务端只是生成一个token,然后验证之后就上次到 COS上面,这样子上传文件就不需要在服务端处理,那么能减少很多的服务压力。

先来看看官方文档:COS对象存储文档
腾讯云COS对象存储 Web 端直传实践(JAVA实现)
找到数据直传,点击 Web端直传实践,查看官方的文档,这里大家要注意细心的看,因为前面会告诉你,上传的key 和密码哦,cos 桶,cos地区,跨域等等概念,大家花一点时间好好看看,因为这对接下来对接接口有很大的帮助,出现错误的几率也会少
腾讯云COS对象存储 Web 端直传实践(JAVA实现)
这里一定要细看,cors是设置跨域规则,比如我的demo访问是http://ip:8080那么就设置进去,这样子当你访问的时候才不会被跨域,
腾讯云COS对象存储 Web 端直传实践(JAVA实现)
腾讯云COS对象存储 Web 端直传实践(JAVA实现)
实现的步骤,这里大家可以看下,web直传是这么样子去实现的,大概就是向服务端获取凭证,然后根据凭证去上传到COS文件服务里面去

腾讯云COS对象存储 Web 端直传实践(JAVA实现)
这里看大家要注意,前提条件一定要自己设置好,存储桶,和Region就是地区,这样都是控制台可以获取的,前端的代码,官方是已经给了,那么我们看下服务端的代码,官方是只给出了 PHP和Nodejs的版本
腾讯云COS对象存储 Web 端直传实践(JAVA实现)
我这里已经把代码都整理好了,需要的自取:
https://github.com/qurenneng/CloudObjectWeb-java

在线测试:http://134.175.66.149:8084/index.html
这里我整合了阿里云,腾讯云 ,七牛云的web 直传,大家可以上传测试,不要上传大的文件,我会定时去删除