这是一个相当新的问题,我已经搜索了这个主题了一段时间,但我发现的任何内容似乎都没有描述。我有这段代码,用于向用户提供文件下载,完美运行:
open(DOC, "<$file_name") or die "$!";
@textFile = <DOC>;
close DOC;
print "Content-Type:application/x-download\n";
print "Content-Disposition:attachment;filename=" . $basename . "\n\n";
print @textFile;
我的问题是文件下载开始后,我想将用户重定向到另一个页面。上面的脚本实际上是由另一个脚本从表单提交的,我有:
<form action="/cgi-bin/download.pl">
<p> some msg </p>
<p><input type="submit" value="Download" name="Download"></p>
</form>
我尝试在输入标签中添加一些javascript语句,如:
onclick="javascript:window.document.location.href=\'http://www.mynewpage.com'
以及最后(download.pl)的打印类似于:
print "Location: http://www.mynewpage.com";
它不起作用。
如果有人能给我一个提示,我真的很感激!
提前致谢!
亚历
答案 0 :(得分:1)
您不能使用HTTP执行此操作(请参阅ADW的resposne)。
大多数网站所做的是将您重定向到包含一些javascript然后启动下载的页面。如果不起作用,它还提供链接。
例如:http://sourceforge.net/projects/sevenzip/files/7-Zip/9.22/7z922.exe/download
请参阅有关javascript的问题:starting file download with JavaScript
答案 1 :(得分:0)
你无法使用直接http / html。
对查询的响应是一个文件,您也不允许发送额外的响应(即重定向)。
正如戴夫所说,通常是用JavaScript完成的。