Member 12299286 Ответов: 1

Использование (“Content-Disposition”, “inline; filename=” + fileName +“”) без отображения имени файла


Привет,
имя файла: Азбука.aspx-файл

мой код:
string Path = @"E:\documents\Data20160129110355.xls";
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "inline; filename="+path+"");
HttpContext.Current.Response.TransmitFile(Path);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();

При нажатии кнопки "Открыть" он успешно откроет файл, но заголовок файла не отображается "Data20160129110355.xls". Он показывает abc.aspx.

Как решить эту проблему, пожалуйста, ответьте.

1 Ответов

Рейтинг:
1

Manas_Kumar

Попробуйте ниже код:

string Path = @"E:\documents\Data20160129110355.xls";
string sFileName = "Data20160129110355.xls";
Response.Clear();
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + sFileName);
HttpContext.Current.Response.RedirectLocation = url;
HttpContext.Current.Response.TransmitFile(Path);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();


Member 12299286

@Manas_Kumar: я пробовал ваш код, но он не работает.

[no name]

Кстати, какое имя файла вы получаете сейчас?

Member 12299286

Название заголовочный файл Азбука.aspx-файл
Для "сохранить" и "сохранить как" это работает нормально.
Эта проблема возникает только для "открытых".

[no name]

Какова цель "RedirectLocation" в вашем коде? Потому что он получает или задает значение заголовка HTTP Location.

Вы можете просто прокомментировать и попробовать еще раз.

Member 12299286

я удалил эту строку кода.
но все равно это не работает.