我有test.cfm
我动态构建pdf文件并将其与<cfheader>
和<cfcontent>
一起输出到浏览器,但我仍然希望页面加载并显示“test HTML“:
<CFFILE action="readbinary" file="#expandpath("./test.cfm")#" variable="testcontent" />
<CFHEADER name="Content-Disposition" value="attachment; filename=""test.txt""; charset=utf-8">
<CFCONTENT type="text/plain" reset="yes" variable="#testcontent#">
<CFCONTENT type="text/html" reset="yes" /><!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Testdoc</title>
</head>
<body>test html</body>
</html>
(输出文件本身仅用于示例)
有没有办法实现这个目标?
答案 0 :(得分:1)
您无法触发下载后发生的情况,但您可以反过来执行此操作 - 加载所需的页面,然后使用HTML元重定向重定向到要下载的文件:
<meta http-equiv="refresh" content="5; url=http://domain.com/path/to/download" />
(如有必要,您可以使用cfhtmlhead将其插入现有HTML网页的相关部分。)
5是等待的秒数 - 设置为0将立即重定向。 (当与其他页面一起使用时,使用即时重定向可能会导致后退按钮出现问题;但是对于下载来说应该不会出现问题。)