V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dganzh
V2EX  ›  编程

文件上传下载文件,大家给点思路

  •  
  •   Dganzh · 2022-08-24 19:26:36 +08:00 · 1834 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景: 项目有比较多功能需要用到文件上传下载,文件最大有 1G 多,最坑的是客户可能网速受限只有 100KB/s ,客户使用的 web 端只能跟我们后端通信,不能跟外网通信。

    项目的这个情况,希望能支持分片上传、断点续传。

    今天初步有了个思路: 自己部署一套对象存储服务,由 web 端直接上传到对象存储系统,完成后由 web 端告知业务。 今天研究了 minIO ,发现需要自己实现分片上传下载,自己管理每个分片的传送情况。 想问问大家有没有更好的对象存储方案?

    没有好用的对象存储,直接自己存文件也行,这是兜底方案了。

    或者这个思路有没有需要改进的地方?有没有更好的思路?

    PS:后端用 Go

    5 条回复    2022-08-28 17:05:54 +08:00
    creanme
        1
    creanme  
       2022-08-24 20:05:06 +08:00   ❤️ 1
    先说说我们的实现

    前端 hash 计算,切片,发送 hash ,切片数,每片大小到后端;

    后端去检查每一片是否上传了,把没上传的切片序号,以及每片要上传到 minio 的地址返回。

    前端根据后端返回,上传缺失的切片到 minio 服务器。
    wunonglin
        2
    wunonglin  
       2022-08-24 20:26:31 +08:00
    aws-s3-js 。没事不要把时间浪费在这种东西上
    zzl22100048
        3
    zzl22100048  
       2022-08-25 07:10:10 +08:00 via iPhone
    minio 兼容 s3 直接用 s3 的 sdk
    GMichael
        4
    GMichael  
       2022-08-25 13:05:53 +08:00 via Android
    最近刚好也做了一样的功能,实现跟一楼类似,只是我用的是本地存储,每一片上传上传完存到临时区检查下,全部上传完,合成一个大文件,存入数据库
    firecode
        5
    firecode  
       2022-08-28 17:05:54 +08:00
    前端直接上传到对象服务器,不需要应用后端
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2466 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:54 · PVG 12:54 · LAX 20:54 · JFK 23:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.