Tôi đang cố gắng để làm cho nó có thể cho người dùng tải về một bảng tính Excel từ trang web của chúng tôi, bởi có một nút chuyển hướng qua chuyện này:tải một tập tin qua https trong IE8, sử dụng ASP.NET
Response.Redirect(string.Format("../excel/ExcelForm.aspx?pathName=&fileNameDisplay={0}&fileNameUnique={1}", "spreadsheet.xls", fileName));
các trang aspx chỉ gửi lại các tập tin thông qua các đối tượng đáp ứng, như thế này:
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileNameDisplay);
Response.WriteFile(Server.MapPath(pathName + fileNameUnique));
Response.Flush();
Response.End();
Tất cả mọi thứ chỉ hoạt động tốt trên máy tính của tôi, nhưng khi chúng ta đặt nó trên máy chủ, https kết hợp với không- cài đặt bộ nhớ cache cho chúng tôi lỗi "Internet Explorer không thể tải xuống [blahblahblah]". Cài đặt bộ nhớ cache trên trang hiển thị nút excel:
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Expires = 0;
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("cache-control", "private, no-cache, must-revalidate no-store pre-check=0 post-check=0 max-stale=0");
HttpContext.Current.Response.Cache.SetNoServerCaching();
Khi tôi xóa các dòng đó, mọi thứ hoạt động tốt. Tuy nhiên, tôi không được phép xóa chúng vì những lý do khác. Vì vậy, tôi đã cố gắng thêm dòng sau vào ExcelForm.aspx ngay trước khi nó bổ sung thêm công cụ để tiêu đề:
Response.ClearHeaders();
nào chỉ mang lại cho tôi "Internet Explorer không thể tải ExcelForm.aspx từ [url]". Và đó là nơi tôi bị mắc kẹt. Gợi ý?
máy tính nói có! –
Bạn sở hữu \ o /. Làm việc như một say mê \ o/ –