V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yangzh
V2EX  ›  问与答

https://mega.co.nz 下载技术是怎样实现的?

  •  
  •   yangzh · 2014-06-11 21:00:54 +08:00 · 13874 次点击
    这是一个创建于 3820 天前的主题,其中的信息可能已经有所发展或是发生改变。
    点击下载之后,它先下载,下载完毕了才弹出选择存储位置的窗口。
    8 条回复    2014-06-12 08:49:21 +08:00
    binux
        1
    binux  
       2014-06-11 21:03:24 +08:00
    FILE API
    can
        2
    can  
       2014-06-11 21:33:30 +08:00
    正好我也想问一个,大部分的下载都能在下载的过程中看到文件的总体积有多大,但是有的下载只能看到目前下载了多少,看不到总体积多大,goagent下载的时候好像就看不到总体积,这两种下载方式到底区别在哪了?困扰我很久的问题。。
    yangzh
        3
    yangzh  
    OP
       2014-06-11 22:10:27 +08:00
    @can 服务器发送文件的方法不同?我猜的。有些为了提高性能用 streaming 方式。
    can
        4
    can  
       2014-06-11 22:19:43 +08:00
    @yangzh 补充下,大部分见到的下载是都可以看见文件总体积的,有少部分国外网站的下载就只能看到你目前接收了多少。。
    zzNucker
        5
    zzNucker  
       2014-06-12 00:15:00 +08:00
    没看网站,预测一下是先把文件分成N块,然后用类似base64编码之类的一块块下载下来再用JS解码,然后再用FS API保存。
    binux
        6
    binux  
       2014-06-12 00:16:38 +08:00 via Android
    @can 看不到总大小因为服务器没有告诉你
    oott123
        7
    oott123  
       2014-06-12 08:26:52 +08:00 via Android   ❤️ 1
    @can HTTP Header 里头有个叫 Content-Length 的头,如果有这个头就看得到,否则就看不到。
    can
        8
    can  
       2014-06-12 08:49:21 +08:00
    @oott123 靠谱
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.