ASP.NET MVC FileNotFoundException ошибка - PullRequest
2 голосов
/ 20 мая 2010

У меня странная ошибка, связанная с предыдущим постом. Я проверяю, существует ли файл перед загрузкой. Это работает для 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");
}

1 Ответ

0 голосов
/ 20 мая 2010

Проверьте разрешения для файла PPT и каталога, убедитесь, что к файлу не прикреплена некоторая информация о зоне, потому что вы скачали его откуда-то еще.

...