Чтобы загрузить файл с помощью гиперссылки, сначала необходимо, чтобы ваша ссылка действия передавала имя файла в качестве значения маршрута для действия:
@Html.ActionLink("Download", "Download",
new { fileName = Model.AttachmentFileName })
Ваше действие будет выполнено в fileName
, откройтедля чтения в /some/path
и возврата его с помощью встроенного в ASP.NET MVC FileStreamResult
:
public ActionResult Download(string fileName)
{
try
{
var fs = System.IO.File.OpenRead(Server.MapPath("/some/path/" + fileName));
return File(fs, "application/zip", fileName);
}
catch
{
throw new HttpException(404, "Couldn't find " + fileName);
}
}
Параметр application/zip
- это тип MIME того, что вы возвращаете.В данном случае это файл .zip.
Здесь - список возможных типов MIME.