欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

各种云储存都有一个问题

程序员文章站 2024-02-03 17:22:46
...
上传进度100%后,还要等很久才会返回。

因为文件上传到服务器后还要上传到云储存。

一个机房的话还好。不然的话就慢死了。1M的文件等几秒

注意:### 这里说的是浏览器进度条100%后还要等几秒 ###,无论是html5的上传进度监听,还是原生文件表单使浏览器状态条出现的100%

有兴趣的可以发表一个话题,在发表页面上传文件就知道了。

解决方案:

1、 尽量用同机房的云储存。

例如百度云和阿里云和新浪云。
问题在于不是所有云储存都有自己的代码执行环境提供的,七牛又拍什么的,他们是只提供储存的。

2、表单上传SDK。

通过这种接口,直接上传到云储存,而不用后端再上传一遍,就不存在此问题了。
但是这样也有一个问题,那就是没法再用户上传之前作权限验证之类的操作了。

3、后端异步上传。

后端接受到文件后,直接返回,然后异步上传。
但是这样有很大的问题,例如头像上传完后没法直接返回链接。而且这个异步的机制也会增加后端的工作量和技术难度。

可见,虽然解决办法众多,可实际简单易行的却没有。

云储存是一个新兴产物,却不符合现代越来越简单开发的规则。

回复内容:

上传进度100%后,还要等很久才会返回。

因为文件上传到服务器后还要上传到云储存。

一个机房的话还好。不然的话就慢死了。1M的文件等几秒

注意:### 这里说的是浏览器进度条100%后还要等几秒 ###,无论是html5的上传进度监听,还是原生文件表单使浏览器状态条出现的100%

有兴趣的可以发表一个话题,在发表页面上传文件就知道了。

解决方案:

1、 尽量用同机房的云储存。

例如百度云和阿里云和新浪云。
问题在于不是所有云储存都有自己的代码执行环境提供的,七牛又拍什么的,他们是只提供储存的。

2、表单上传SDK。

通过这种接口,直接上传到云储存,而不用后端再上传一遍,就不存在此问题了。
但是这样也有一个问题,那就是没法再用户上传之前作权限验证之类的操作了。

3、后端异步上传。

后端接受到文件后,直接返回,然后异步上传。
但是这样有很大的问题,例如头像上传完后没法直接返回链接。而且这个异步的机制也会增加后端的工作量和技术难度。

可见,虽然解决办法众多,可实际简单易行的却没有。

云储存是一个新兴产物,却不符合现代越来越简单开发的规则。

现在七牛的解决方案就是直传到七牛云上。 具体模型参考http://developer.qiniu.com/docs/v6/api/overview/programming-model.html
基本上就是你说的第二条, 这个上传钱作权限验证完全可以由你的业务逻辑来保证。