我想要一个可重覆下载一个使用PHP的文件。正如this post声明的那样,我需要有一个特定的工作流才能做到这一点,所以我添加了它。
现在的问题是,在启动下载时,下载管理器认识到下载是可重封的(由于“接受范围”-标头),但是当开始重新下载时,它就失败了。
我现在调试了正在发送的头的输出,但是我找不到为什么它不能工作。也许我目前的看法很糟糕,或者错误在别的地方,但我想它就隐藏在这里。
Request: bytes=2967529-
Header: HTTP/1.1 206 Partial Content
Header: content-type: application/x-rar-compressed
Header: Content-Type: application/octet-stream
Header: Cache-Control: private
Header: Accept-Ranges: bytes
Header: Content-Range: bytes 2967529-/52702041
Header: content-length: 52702041
Header: content-disposition: attachment; filename="XXX.rar"另一次尝试更改了一些标题,但仍然无法工作:
Header: Content-Range: bytes 2967529-55669570/*
Header: content-length: 52702041内容长度(以及范围中的最后一个整数)是已经扣除偏移量的文件大小。
亲切的问候
发布于 2013-09-27 10:47:57
我自己解决了这个问题。事实上,错误就在标题中。
我认为内容范围和内容长度应该是这样工作的:
Content-Range: bytes startbytes-totalbytes/bytestobesend
Content-Length: bytestobesent实际上,它是这样工作的:
Content-Range: bytes startbytes-totalbytes/totalbytes
Content-Length: totalbytes(其中,总字节是完整的文件大小,而不仅仅是发送的章节)
https://stackoverflow.com/questions/19040440
复制相似问题