2011-08-12 97 views
3

我試圖讓用戶下載一個Excel文件,通過在ASP.net頁面火狐的Response.Redirect不工作的文件

的頁面加載使用

Response.Redirect(
    "http://localhost/myapp/download_folder/example excel file_july.xls") 

,但在客戶端上側IAM得到下面的屏幕在Firefox 3.5

Firefox 3.5 shows blank download screen

你可以觀察到,文件名和文件類型顯示爲空字段。 ok和cancel按鈕沒有做任何事情。

這種情況只發生在firefox 3.5中,它在firefox的後期版本和其他瀏覽器中工作。

我試圖通過Response.Clear()清除響應,使用Response.BinaryWrite與文件字節數組,甚至嘗試通過調用window.open(url)使用javascript打開文件。

+0

可能文件名中的空格會導致一些問題。嘗試使用不帶空格的文件名。 –

+1

@Uwe我試過沒有空格(用_替換空格(下劃線)),它仍然不起作用 – Vamsi

+0

你能確認它不能在第二臺機器上工作嗎?也許你的Firefox設置搞砸了。從Mozilla檢查這個KB。 http://support.mozilla.com/en-US/kb/Unable%20to%20download%20or%20save%20files –

回答

1

你這樣做是錯誤的。

只是作爲一個例子,看看什麼是問題的身體在這裏完成:

How to download file and reload

在你的情況下,你應該使用的Response.Write過載。

問題是你應該設置一些響應頭文件來至少告訴瀏覽器文件名,文件長度和內容類型。

+0

我試着設置內容類型和Content-Disposition標題,他們都沒有工作 – Vamsi