目前的设计是,安卓设备将视频文件分片通过接口,上传到 node 后端。现在避免的是不保存文件在服务器。 能不能实现,node 接受分片,直接上传到七牛云,最后合成 mp4 文件。 如果有更好的方法也可以改。麻烦各位了
1
imdong 224 天前 via iPhone
呃,直接传七牛是有什么问题么?我记得可以直接传的来着?
|
2
Dolov 224 天前
我以前在 web 端用过七牛的 sdk 直接把文件分片上传到七牛云,不需要经过自己的服务器
|
3
chunriyeqiukong 224 天前
为什么不直接在端上传到七牛
|
5
crownor 224 天前
那你用个开源支持 OSS 的网络文件系统去作为中间件就好了嘛,这样的话想用哪种都可以,对于你后端来说都是那个文件系统的接口,实现了存储方式的透明化
|
6
yuzo555 224 天前
服务器是 Gbps 级别带宽,并且不限流量的?如果是这种情况可以考虑。
|
7
Dolov 224 天前 1
@Dnlyao 我们的 web 系统分为云上版本和本地部署版本,用环境变量区分,如果是云上则直传七牛,如果是 op 就存储在服务器。老板知道文件多的话服务器压力很大么 ~
|
9
wuxin987 224 天前
node 后端上传到七牛云之后把本地文件删除不就完了
|
10
Dnlyao OP @Dolov 相同的设计方法,通过变量控制。如果本地服务器就不太需要管。但是云服务器的,还有其他东西在跑。看能不能不存储。昨天已经去跟他说了,老板去找人问,别人回复他即使 app 设计上传东西指定一个地址,老板也不希望在 app 上直传七牛云。
|
11
yuzo555 224 天前 1
10 Mbps 带宽只够一个用户以 1 MB/s 的上传视频,他上传的时候其他所有用户都歇菜。
|
13
StrangerA 224 天前 1
?后端签发 policy 然后前端带着 policy 去 oss 上传不是常规操作吗
|
14
yuzo555 224 天前
如果一定要对系统改动最小,可以考虑在存储服务商上搞一个 Serverless (或者云服务器),然后在上面接收上传的文件(或分片),在云上使用存储服务商的 SDK ,走内网传输到存储服务商即可。
这个方案不太需要改动客户端,只要一般的 API 和客户端上传走不同的域名即可。 |
19
jackge0323 224 天前
程序里做分层不行吗?上传方法做个接口,用哪个上传就实现哪个呗。
|
20
Huelse 224 天前
服务端返回上传 token ,客户端分片后直接上传到七牛云,一般是这么操作的。
|
21
Dnlyao OP |
23
Ranhao 224 天前 1
这种情况正常不是有个接口请求上传 token ,上传地址。
客户端判断,如果是云上版本,就用直接传七牛,是本地版本,就直接传上传地址。 |
24
Lamkin 224 天前 1
@Dnlyao 本地服务器也部署一个对象存储的服务,比如 MINIO ,然后由签发上传地址的那个接口来做区分就好,设备保留原有的分片上传逻辑,接口签发 PUT 的地址是七牛就分配上传到七牛,签发的是 MINIO 就传到 minio 。
|
25
orjdndn 224 天前 1
可以试试 Cloudreve ,上传文件不保存到服务器
|
26
xmumiffy 224 天前 via Android 1
七牛也支持分片啊,你收到一个分片就往七牛传一个
https://developer.qiniu.com/kodo/6366/upload-part |
27
xxcheng 224 天前 1
买台七牛云主机当上传服务器,然后内网互通,还可以用 S3FS 把对象存储挂载到主机。
|
28
AsAsSaSa 224 天前 1
讲道理,哪怕算一下实际场景下这 10Mbps 小水管是什么个体验,一般生成的视频是多大,多久会产生一个需要上传的视频,一个视频需要上传多久,思路正常就不会考虑这样搞。
没问题你就写个反代慢慢传呗。不想哪怕落一次盘那就用内存存着呗。 |
29
zephyru 223 天前 1
不想在 App 写死,感觉最好还是,提供一个接口,返回 token 和上传地址,上传地址后端配置现在返回七牛云的,后续要换再换(别的七牛云或者本地上传地址),非要经过自己的服务器中转的确不是一个好法子。
|
30
vueli 222 天前 1
你就正常存到服务器,七牛设置一个回源策略就行了。
|
31
guanzhangzhang 222 天前 1
回复都快 30 层了,没有一个人生产用过 sts token 吗,用户向后端申请上传 token ,你后端返回七牛云的 sts token ,安卓端直接上传七牛云,这是很标准的方案了🧐
|
32
vueli 222 天前
@guanzhangzhang #31 我就是这么干的。阿里云,官网都有实例,无脑复制就能搞定
|
33
halobugTurbo 222 天前
@guanzhangzhang 找到你了。
|