接受视频文件,不保存文件在服务器,上传七牛云。该怎么实现。

2024-05-11 15:47:42 +08:00
 Dnlyao

目前的设计是,安卓设备将视频文件分片通过接口,上传到 node 后端。现在避免的是不保存文件在服务器。 能不能实现,node 接受分片,直接上传到七牛云,最后合成 mp4 文件。 如果有更好的方法也可以改。麻烦各位了

3030 次点击
所在节点    Node.js
33 条回复
imdong
2024-05-11 15:50:37 +08:00
呃,直接传七牛是有什么问题么?我记得可以直接传的来着?
Dolov
2024-05-11 15:50:59 +08:00
我以前在 web 端用过七牛的 sdk 直接把文件分片上传到七牛云,不需要经过自己的服务器
chunriyeqiukong
2024-05-11 15:51:24 +08:00
为什么不直接在端上传到七牛
Dnlyao
2024-05-11 15:52:31 +08:00
@Dolov 我也想这样,但老板不想。希望可以文件经过服务器。因为项目型会改动成本地系统,那时候视频就保存本地系统。
crownor
2024-05-11 15:55:27 +08:00
那你用个开源支持 OSS 的网络文件系统去作为中间件就好了嘛,这样的话想用哪种都可以,对于你后端来说都是那个文件系统的接口,实现了存储方式的透明化
yuzo555
2024-05-11 15:58:11 +08:00
服务器是 Gbps 级别带宽,并且不限流量的?如果是这种情况可以考虑。
Dolov
2024-05-11 15:58:38 +08:00
@Dnlyao 我们的 web 系统分为云上版本和本地部署版本,用环境变量区分,如果是云上则直传七牛,如果是 op 就存储在服务器。老板知道文件多的话服务器压力很大么 ~
Dnlyao
2024-05-11 16:02:08 +08:00
@yuzo555 不是,10m 小水管,所以我想着安卓请求上来分片的,直接上传七牛云,不留云服务器。
wuxin987
2024-05-11 16:04:16 +08:00
node 后端上传到七牛云之后把本地文件删除不就完了
Dnlyao
2024-05-11 16:05:45 +08:00
@Dolov 相同的设计方法,通过变量控制。如果本地服务器就不太需要管。但是云服务器的,还有其他东西在跑。看能不能不存储。昨天已经去跟他说了,老板去找人问,别人回复他即使 app 设计上传东西指定一个地址,老板也不希望在 app 上直传七牛云。
yuzo555
2024-05-11 16:06:16 +08:00
10 Mbps 带宽只够一个用户以 1 MB/s 的上传视频,他上传的时候其他所有用户都歇菜。
Dnlyao
2024-05-11 16:07:11 +08:00
@wuxin987 我知道,现在希望看能不能不保存视频在本地,去上传七牛云。因为也不是一下能上传完到七牛云。
StrangerA
2024-05-11 16:07:25 +08:00
?后端签发 policy 然后前端带着 policy 去 oss 上传不是常规操作吗
yuzo555
2024-05-11 16:09:57 +08:00
如果一定要对系统改动最小,可以考虑在存储服务商上搞一个 Serverless (或者云服务器),然后在上面接收上传的文件(或分片),在云上使用存储服务商的 SDK ,走内网传输到存储服务商即可。
这个方案不太需要改动客户端,只要一般的 API 和客户端上传走不同的域名即可。
Dnlyao
2024-05-11 16:10:47 +08:00
@StrangerA 老板不希望在 app 写死一个方法是上传七牛云,而且是公司的七牛云。可能打算 app 也单独出售,给别人对接
Dnlyao
2024-05-11 16:12:11 +08:00
@yuzo555 感觉给出新方案。可能不太能实现,因为要钱
yuzo555
2024-05-11 16:13:07 +08:00
@Dnlyao 那就用 S3 协议搞一套上传啊,兼容性很强,所有云存储服务商,包括自建对象存储都支持。
Dnlyao
2024-05-11 16:15:38 +08:00
@yuzo555 感谢 感谢,我去看看怎么弄
jackge0323
2024-05-11 16:21:02 +08:00
程序里做分层不行吗?上传方法做个接口,用哪个上传就实现哪个呗。
Huelse
2024-05-11 16:21:35 +08:00
服务端返回上传 token ,客户端分片后直接上传到七牛云,一般是这么操作的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039823

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX