我有一个 php 文件,它生成一个使用 POST 参数下载的文件。我已经完成了恢复文件下载的一切工作(使用 Range 标头和所有相关内容)。
但是,如果我暂停下载然后尝试恢复它,浏览器不会在请求中发送 POST 数据。使用 GET 数据可以正常工作,但我想继续使用 POST。我怎样才能使这项工作?
笔记:
- 该文件是即时生成的,并使用正确的标题发送到浏览器(简单地由 php 打印)。
- 我无法将文件保存在某处并提供服务。它必须在飞行中提供。
我有一个 php 文件,它生成一个使用 POST 参数下载的文件。我已经完成了恢复文件下载的一切工作(使用 Range 标头和所有相关内容)。
但是,如果我暂停下载然后尝试恢复它,浏览器不会在请求中发送 POST 数据。使用 GET 数据可以正常工作,但我想继续使用 POST。我怎样才能使这项工作?
笔记:
*对不起,我的英语不好。
好吧,假设您有数据库来保存 POST 参数。
那么您需要根据参数为下载创建唯一的 url。
假设下载链接是dowload.php
<-您在此处发送 POST。
现在你需要把参数保存在那里,让我们说你得到了unique_id
.
之后,您将页面重定向到处理下载的新页面(使用 unique_id 参数),例如resume_download.php
示例下载 url 将是resume_download.php?req=[your_unique_id]
或者您可以使用.htaccess
使 url 更友好
这不能保证下载会继续,但至少用户不需要重新输入表单。