http://forums.asp.net/p/1481083/3457332.aspx
string filename = @"Specify the file path in the server over here....";
FileInfo fileInfo = new FileInfo(filename);
if (fileInfo.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.Name);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Flush();
Response.TransmitFile(fileInfo.FullName);
Response.End();
}
Cập nhật:
Mã ban đầu
Response.AddHeader("Content-Disposition", "inline;attachment; filename=" + fileInfo.Name);
có "inline; tập tin đính kèm", tức là hai giá trị cho Disposition nội dung.
Không biết chính xác thời điểm bắt đầu, nhưng trong Firefox chỉ tên tệp thích hợp không xuất hiện. Hộp tải xuống tệp xuất hiện với tên của trang web và phần mở rộng của trang web (pagename.aspx). Sau khi tải về, nếu bạn đổi tên nó trở lại tên thật; tệp mở thành công.
Theo this page, hoạt động trên Cơ sở đến trước được phục vụ trước. Thay đổi giá trị thành attachment
chỉ giải quyết được vấn đề.
PS: Tôi không chắc đây có phải là phương pháp hay nhất hay không nhưng vấn đề đã được giải quyết.
Bạn có sử dụng Response.TransmitFile (cho một tệp nhỏ không? –