springboot前后端分离,前端选择文件后调用后端上传接口,再把文件上传到对象存储,上传进度是在前端做吗?后端调用上传对象存储是用异步吗?目前测试同步上传的话,如果是大文件,前端上传到后端上传完了,但是因为还得上传到对象存储、所以还得等一会请求才能结束。这种如何处理比较好呢?
springboot前后端分离,前端选择文件后调用后端上传接口,再把文件上传到对象存储,上传进度是在前端做吗?后端调用上传对象存储是用异步吗?目前测试同步上传的话,如果是大文件,前端上传到后端上传完了,但是因为还得上传到对象存储、所以还得等一会请求才能结束。这种如何处理比较好呢?
3 回答3.7k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
2 回答1.8k 阅读
1 回答814 阅读✓ 已解决
1 回答1.6k 阅读
2k 阅读
Web 端直传给云存储就好了,不需要走一遍自己服务器,浪费那带宽干啥。
据我所知的云存储服务的文件上传接口都是 FormData 格式的,你后端接口要返回的其实就几个数据:
formData.append()
的第一个参数)。前端通过后端接口拿上述几个数据,然后拼装成一个 AJAX 直接上传到云存储上就可以了。
结合我之前回答过你的问题,如果要换云存储,后台改配置就好了,对于前端来说是无感知的。
P.S. 除非有一种情况下才需要服务器中转,那就是你的业务系统对文件传输的安全性要求极高,不希望客户端能绕开你直接与云存储服务通信。