Вместо того, чтобы отображать PNG в окне браузера, я хотел бы, чтобы результат действия инициировал диалоговое окно загрузки файла (Вы знаете открытое, сохранить Как, и т.д.). Я могу заставить это работать с кодом ниже использования неизвестного типа контента, но пользователь затем должен ввести в .png в конце имени файла. Как я могу выполнить это поведение, не вынуждая пользователя ввести в расширении файла?
public ActionResult DownloadAdTemplate(string pathCode)
{
var imgPath = Server.MapPath(service.GetTemplatePath(pathCode));
return base.File(imgPath, "application/unknown");
}
public ActionResult DownloadAdTemplate(string pathCode)
{
var imgPath = Server.MapPath(service.GetTemplatePath(pathCode));
Response.AddHeader("Content-Disposition", "attachment;filename=DealerAdTemplate.png");
Response.WriteFile(imgPath);
Response.End();
return null;
}
Я полагаю, вы можете контролировать это с помощью заголовка content-disposition.
Response.AddHeader(
"Content-Disposition", "attachment; filename=\"filenamehere.png\"");
Вам нужно установить следующие заголовки в ответе:
Content-Disposition: attachment; filename="myfile.png"
Content-Type: application/force-download