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();
}
Обновление:
Исходный код
Response.AddHeader("Content-Disposition", "inline;attachment; filename=" + fileInfo.Name);
имеет "встроенный; вложение" т.е. два значения для содержимого утилизации.
Не знаю, когда именно это началось, но в Firefox только имя файла не отображалось. Появится окно загрузки файла с именем веб-страницы и ее расширением (pagename.aspx). После загрузки, если вы переименуете его обратно в текущее имя; файл открывается успешно.
По состоянию на this page, он действует на Первый пришел первым Подается основанием. Изменение значения до attachment
только решило проблему.
PS: Я не уверен, что это лучшая практика, но проблема решена.
Можно ли использовать Response.TransmitFile (для небольшого файла? – 2008-09-18 13:08:55