2012-10-12 80 views
1

我有一個test.cfm我動態地生成一個pdf文件,並與<cfheader><cfcontent>輸出到瀏覽器,但我仍然希望頁面加載並顯示「測試HTML「:ColdFusion:強制瀏覽器下載文件,並仍然加載頁面

<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> 

(輸出文件本身只是爲例子)

有沒有辦法做到這一點?

+3

加載頁面,然後將HTML元素重定向到下載? –

+0

這是個好主意!謝謝@PeterBoughton – Seybsen

回答

1

不能觸發下載後會發生什麼,但你可以做輪用另一種方式 - 加載你想要的頁面,然後重定向到文件中使用HTML元重定向下載:

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

(如有必要,您可以使用cfhtmlhead將其插入現有HTML頁面的相關部分。)

5是等待秒數 - 設置爲0將立即重定向。 (與其他頁面一起使用時,使用即時重定向可能會導致後退按鈕出現問題;但下載問題應該少於下載問題。)