egen
V2EX  ›  问与答

有人介绍一下MEGA下载的原理么?

  •  
  •   egen · Mar 8, 2013 · 22488 views
    This topic created in 4856 days ago, the information mentioned may be changed or developed.
    https://mega.co.nz/#!M5FVzIxZ!ExWD6iJVoIO_vmJYuBvFrk0bW7MYmXfYnjDUea2Nhbc

    比如上面的链接,点下载后没有弹出下载窗口,而是跑进度条,跑完才弹出下载文件的窗口
    这个原理是什么?难道缓存在浏览器里面? 如果是缓存文件大的话怎么办呢?
    16 replies    2016-12-17 18:02:26 +08:00
    exoticknight
        1
    exoticknight  
       Mar 8, 2013
    估計是HTML5……
    muzuiget
        2
    muzuiget  
       Mar 8, 2013
    提示安装扩展,不安装下不了。估计是扩展在后台接管了并开始下载,然后在页面里更新进度,蛋疼。
    wzxjohn
        3
    wzxjohn  
       Mar 8, 2013
    @egen 打开Chrome的开发者控制台你就知道是个什么过程了。全程清晰显示。。。
    @muzuiget 你一定是用了什么山寨浏览器吧。。。Chrome完全不需要扩展。
    clww
        4
    clww  
       Mar 8, 2013
    话说html5的localstorage可以占满你的硬盘的,详见 http://filldisk.com
    muzuiget
        5
    muzuiget  
       Mar 8, 2013
    @wzxjohn 我用的是Firefox。
    est
        6
    est  
       Mar 9, 2013
    mega主要看点是客户端js实现二次加解密。文件传输很安全。

    文件加载可以用HTML5的FileBlob
    muzuiget
        7
    muzuiget  
       Mar 9, 2013
    现在重新试了一下,又好了。
    badec
        8
    badec  
       Mar 9, 2013
    磁性链接?
    ljbha007
        9
    ljbha007  
       Mar 9, 2013   ❤️ 1
    真巧 刚才看到谷歌IO讲这个问题
    主要是用了两个东西一个是
    XmlHttpRequest2里边的resposeType="arraybuffer"
    一个是
    a标签的download属性
    egen
        10
    egen  
    OP
       Mar 9, 2013
    @ljbha007
    是这个东西了
    ljbha007
        11
    ljbha007  
       Mar 9, 2013   ❤️ 1
    @egen
    最关键是window.URL.createObjectURL这个方法 可以把js里边的blob内容转换成可以下载的资源链接
    ljbha007
        12
    ljbha007  
       Mar 9, 2013
    try this
    http://www.carltheawesome.com/download.html
    本来是google IO上面一个人做的DEMO
    结果原来的链接http://html5-demos.appspot.com/static/a.download.html用不了了
    因为BlobBuilder的API被废弃了

    我给改了一下
    你注意下代码321行 那个就是用html5实现客户端下载的方法
    egen
        13
    egen  
    OP
       Mar 11, 2013
    @ljbha007
    多谢,受益匪浅
    lyric
        14
    lyric  
       Mar 11, 2013
    blob: 真好用
    chigco
        15
    chigco  
       Jan 10, 2015
    @ljbha007 例子丢失了?
    kmahyyg
        16
    kmahyyg  
       Dec 17, 2016 via Android
    搭车同问 peer5 的原理
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5386 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 07:02 · PVG 15:02 · LAX 00:02 · JFK 03:02
    ♥ Do have faith in what you're doing.