У меня странная ошибка, связанная с предыдущим постом. Я проверяю, существует ли файл перед загрузкой. Это работает для PDF-файлов, но не для документов любого другого типа.
Вот мое действие контроллера и типичный путь для PDF и файла PowerPoint, PowerPoint не работает, File.Exists
всегда возвращает false
. Оба файла физически существуют. Это довольно непонятно, так как в результате получается FileNotFoundException
для не PDF-файлов.
/ Документы // FID // TestDoc // 27a835a5-bf70-4599-8606-6af64b33945d / FIDClasses.pdf
~ / Documents // FID // pptest // ce36e7a0-14de-41f3-8eb7-0d543c7146fe / PPttest.ppt
Прикол в том, что копирование и вставка пути к файлу в проводнике приводит к файлу, так в чем же может быть проблема?
[UnitOfWork]
public ActionResult Download(int id)
{
Document doc = _documentRepository.GetById(id);
if (doc != null)
{
if (System.IO.File.Exists(Server.MapPath(doc.filepath)))
{
_downloadService.AddDownloadsForDocument(doc.document_id, _UserService.CurrentUser().user_id);
return File(doc.filepath, doc.mimetype, doc.title);
}
}
return RedirectToAction("Index");
}