我有一个奇怪的错误,这与之前的帖子有关。我在下载前检查文件是否存在。这适用于PDF,但不适用于任何其他类型的文档。
这是我的控制器操作以及PDF和PowerPoint文件的典型路径,PowerPoint不起作用,File.Exists
始终返回false
。这两个文件都存在。这非常令人费解,因为它会导致非{1} FileNotFoundException
。
/Documents//FID//TestDoc//27a835a5-bf70-4599-8606-6af64b33945d/FIDClasses.pdf
〜/文档// // 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");
}
答案 0 :(得分:0)
检查PPT文件和目录的权限,检查文件是否附加了某些“区域”信息,因为您是从其他地方下载的。