1

我有一个test.cfm动态构建pdf文件并将其输出<cfheader><cfcontent>浏览器的地方,但我仍然希望页面加载并显示“测试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>

(输出文件本身仅用于示例)

有没有办法做到这一点?

4

1 回答 1

1

您无法触发下载后发生的事情,但您可以反过来执行 - 加载您想要的页面,然后使用 HTML 元重定向重定向到要下载的文件:

<meta http-equiv="refresh" content="5; url=http://domain.com/path/to/download" />

(如有必要,您可以使用cfhtmlhead将其插入现有 HTML 页面的相关部分。)

5 是等待的秒数 - 设置为 0 将立即重定向。(与其他页面一起使用时,使用即时重定向可能会导致后退按钮出现问题;但对于下载来说应该不是问题。)

于 2012-10-12T16:09:47.000 回答