Tôi có trang aspx với các nút liên kết để kích hoạt javascript để mở một trang aspx mới để truyền tệp đến trình duyệt để người dùng tải xuống.Lỗi IE 7? - nhắc lưu/mở khi tải xuống tập tin - C# asp.net 3.5
Khi phát triển và kiểm tra đơn vị trên XP SP3, IE 7 và FireFox 3.5, sử dụng đoạn mã sau (chính là "đính kèm" một phần trong thẻ Content-Disposition), cả hai nhắc nhở một hộp thoại hỏi nếu tôi muốn lưu hoặc mở tài liệu, đó là chính xác những gì tôi muốn xảy ra:
private void WriteFileToBrowser(Byte[] requestFile, string filename, String m_mimeType, String m_format)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + "." + m_format);
Response.ContentType = m_mimeType;
Response.BinaryWrite(requestFile);
Response.Flush();
}
Khi tôi triển khai này đến một máy chủ Windows 2003 và điều hướng đến các trang aspx cùng, FireFox 3.5 hỏi một cách chính xác cho một Lưu/mở tùy chọn như mong đợi vì đó là hoạt động mặc định trong FF.
Khi tôi điều hướng trong IE 7 và nhấp để tải xuống, tôi nhận được cửa sổ bật lên hiển thị cho các đỉnh thứ 1/thứ 8 ... và biến mất. Không có lời nhắc để Lưu/Mở.
Nếu tôi đi vào IE 7 -> Tools -> Internet Options -> Security -> Custom Level -> Tải xuống
tự động nhắc nhở để tải tập tin bị vô hiệu hóa. Khi tôi kiểm tra nó để cho phép tôi sau đó nhận được dấu nhắc Save/Open để hoạt động chính xác.
Vì vậy, câu hỏi của tôi là ..... có ai nhận được một công việc xung quanh này? Tôi đã thử một loạt những thứ mà mọi người yêu cầu làm việc với các thẻ Header khác nhau như cache, pragma, v.v ... không ai trong số đó nhận ra rằng IE có thuộc tính download bị vô hiệu hóa theo mặc định.
Tôi đã thử một cái gì đó tương tự và nó hoạt động trong IE7,8. Bạn có thể cung cấp giá trị chính xác của m_mimeType bạn sử dụng không? –
để thử nghiệm im sử dụng điều này dưới dạng mime và định dạng trong danh sách tham số "ứng dụng/pdf", "PDF" –
Bạn đã thử những người khác ví dụ: application/zip Thứ mà IE7 không thể hiển thị trong cửa sổ của nó. –