2013-04-12 19 views
0

我創建了一個網站,當我點擊一個鏈接按鈕時,一個小的彈出窗口被打開。那個彈出窗口有一個按鈕,當點擊這個按鈕時,一個zip文件被下載到客戶端機器上。在下載壓縮文件並關閉彈出窗口後,如果我在Internet Explorer 9中使用Ctrl + Shift + Del刪除「下載歷史記錄」,然後打開相同的彈出窗口再次下載壓縮文件,則下載的壓縮文件將重命名爲aspx頁面(彈出頁面)名稱在「查看下載」窗口中。在IE9的「查看下載」窗口中下載的文件的文件名不正確

它工作正常,如果我重新啓動瀏覽器(IE9)刪去 「歷史下載」 使用按Ctrl + Shift + Del鍵

注後:彈出窗口的寬度僅爲70像素

FileStream myFileStream = new FileStream("TestFolder.zip", FileMode.Open); 
long FileSize = myFileStream.Length; 
byte[] Buffer = new byte[(int)FileSize]; 
myFileStream.Read(Buffer, 0, (int)FileSize); 
myFileStream.Close(); 

Response.Clear(); 
Response.ContentType = @"application/octet-stream"; 
Response.AddHeader("Content-Disposition", "attachment; filename= TestFolder.zip"); 
Response.AddHeader("Content-Length", Buffer.Length.ToString()); 
Response.BinaryWrite(Buffer); 
Response.Flush(); 
Response.End(); 

回答

0

只是一個假設,但我想問題是(是?)「filename = TestFolder.zip」之間的空間。至少在我們的地方,我們從文件名中刪除空格,因爲它在空格之後切斷。