У меня есть этот код:
[HttpPost]
public ActionResult Create(Knowledgebase KB, HttpPostedFileBase file)
{
var KBFilePath = "";
if (ModelState.IsValid)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(KB.KnowledgebaseTitle);
var path = Path.Combine(Server.MapPath("~/Resources/KBArticles"), fileName + ".pdf");
KBFilePath = path;
file.SaveAs(path);
}
KB.KnowledgebaseLink = KBFilePath;
db.Knowledgebases.Add(KB);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
else
{
return View();
}
Ссылка - это путь к файлу, который хранится в БД, который начинается с C:/
На другой странице я могу просмотреть содержимое записи. Когда я нажимаю ссылку, на которую она была сохранена на C:/, Chrome говорит: "Не удалось загрузить локальный ресурс". Я сохраняю в папке Ресурсы, которая является частью моего каталога приложений ASP.NET. Во всяком случае, вокруг этого?
ИЗМЕНИТЬ Страница открывается из этого представления:
public ActionResult Suggestions(String Tag)
{
return View();
}
ИЗМЕНИТЬ 2 - Я ввел изменения в свое мнение:
@{
string tag = "<td><a href=" + "~/Content/Files/" + ">" + item.Title.Replace(" ", "") + ".pdf" + "</a>" + "</td>";
}
@Html.Raw(tag)
Запрошенный файл в адресной строке браузера
http://localhost:62165/Incident/~/Content/Files/
Теперь я получаю ошибку HTTP Error 404.0 Not Found