我有下面的代碼來提示用戶的瀏覽器下載一個excel文件。這是ASP.NET web表單中的C#代碼C#:Chrome - 用戶下載excel文件
byte[] fileData = GetExcelFile(..);
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=report.xlsx");
Response.OutputStream.Write(fileData, 0, fileData.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.Close();
Response.End();
當用戶單擊網站上的按鈕時,會觸發此代碼。
它在IE11中完美工作;用戶會得到一個對話框,詢問他們是要保存還是打開文件。該文件打開正常。
但是,在Chrome 56.0.2924.87(最新版本)上,用戶得到'失敗 - 網絡'和'加載響應數據失敗'錯誤,並且沒有任何內容被下載到他們的計算機上。這部分代碼在一年內沒有改變,並且已經工作了一年。但是,我昨天測試了它,並停止工作。
這是發送Excel文件到用戶的響應
Web窗體,MVC,API,核心? – krillgar
您對'xlsx'文檔使用了錯誤的內容類型。 –
打開瀏覽器控制檯,查看控制檯和網絡選項卡,它會告訴你爲什麼失敗。 – Gusman