我非常需要這個幫助。我在IIS 5中有一個經典的ASP網站,我需要將pdf傳輸給用戶。我正在使用ADODB.Stream生成二進制數據塊,並使用response.BinaryWrite將其傳輸到客戶端。現在問題是IE中有一個已知的功能,默認情況下,SSL(https)網站將Response CacheControl標頭設置爲「no-cache」。因此,我得到的標準誤差:。通過HTTPS在IE 5.5/IIS 5.0上下載文件
「Internet Explorer無法從服務器名下載FILE.DOC
的Internet Explorer無法打開此Internet站點請求的站點是不可用或無法找到,請稍後再試。」
我已經在流式傳輸之前設置了Response.CacheControl =「private,must-revalidate,max-age = 3600」,但它仍然會給出錯誤。
注意:相同的代碼在firefox和netscape等所有其他瀏覽器中都能正常工作。我在firefox中使用LiveHttpHeaders來查看Response.CacheControl在firefox中自動正確設置。不幸的是,我不能在我的機器上安裝Fiddler,但我猜測問題是由於IIS默認標頭CacheControl =「無緩存」爲https
我沒有選中IE中的「不保存加密的頁面到磁盤」選項。
我需要解決的辦法,因爲期權擁有與現有技術:(互聯網將提供很快給用戶
但如何使它在ie 6/7/8中工作還是不會在更高版本中出現此問題? – NeoBieKid 2009-10-01 23:34:00
嘗試IE 6並讓我們知道。 – 2009-10-02 13:45:05
對不起,但沒有在測試電腦上安裝IE6(不在我的控制下)。然而,發現這個鏈接http://support.microsoft.com/kb/323308 它說,將無法與IE 6 SP 1,而是使用'HREF'它似乎需要'http'鏈接 - 因此無用..在經典的ASP的舊網站永遠不會提供https文件下載?不能 - 所以必須是一種方式 – NeoBieKid 2009-10-04 00:55:59