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

文件流形式的下载,有办法触发浏览器的自带下载进度功能吗

  •  
  •   1sm23 · 2021-12-24 15:29:00 +08:00 · 800 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    response header

    HTTP/1.1 200 OK
    Server: nginx/1.21.3
    Date: Fri, 24 Dec 2021 06:19:29 GMT
    Content-Type: application/zip
    Transfer-Encoding: chunked
    Connection: keep-alive
    X-RateLimit-Remaining: 0
    X-RateLimit-Requested-Tokens: 1
    X-RateLimit-Burst-Capacity: 1
    X-RateLimit-Replenish-Rate: 1
    Content-Disposition: attachment; filename=%E6%8A%BD%E6%A0%B7%E7%BB%93%E6%9E%9C.zip
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    Pragma: no-cache
    Expires: 0
    X-Frame-Options: DENY
    Referrer-Policy: no-referrer
    Access-Control-Allow-Origin: *
    Access-Control-Allow-Methods: *
    Access-Control-Allow-Headers: DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
    

    现在是等文件传完了,chrome 底部才出文件下载完成

    如果实在做不到就只能自己监听进度写进度条了

    6 条回复    2021-12-24 15:58:30 +08:00
    sunjiayao
        1
    sunjiayao  
       2021-12-24 15:44:16 +08:00
    response header 加下 Content-Length 试试
    coderluan
        2
    coderluan  
       2021-12-24 15:45:23 +08:00
    你得加个 Content-Length 或者 Content-Disposition 加个 size 吧,要不肯定不知道进度啊,哪怕你自己监听也得加吧。
    1sm23
        3
    1sm23  
    OP
       2021-12-24 15:45:33 +08:00
    @sunjiayao #1 感谢回复!加 Content-Length 试过了😂
    1sm23
        4
    1sm23  
    OP
       2021-12-24 15:54:26 +08:00
    @coderluan #2 同事说他试的时候是随便加的 Content-Length ,是一定要是文件的准确大小?
    sunjiayao
        5
    sunjiayao  
       2021-12-24 15:58:22 +08:00
    可以随便写 写大点 单位是字节
    coderluan
        6
    coderluan  
       2021-12-24 15:58:30 +08:00
    @1sm23 你要准确进度自然得准确大小啊,因为进度就是已接受长度除文件总长度,流文件本身又没总长度信息的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2752 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:14 · PVG 20:14 · LAX 05:14 · JFK 08:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.