【问题标题】:File won't display on publish asp.net mvc文件不会在发布 asp.net mvc 上显示
【发布时间】:2016-07-13 20:22:03
【问题描述】:

我有一个要显示给用户的 pdf。当我从 IDE 运行代码时,它显示没有问题,但是当我将应用程序发布到服务器时,它会生成 404。

我已将文件 Instructions.pdf 放在我创建的名为 /Files 的文件夹中

这是我的观点链接:

<h2>Placeholder</h2>
    <p>
        Click below for instructions on how to use the tool.
    </p>
    <p><a class="btn btn-default" href="/Home/InstructionsPDF">Instructions &raquo;</a></p>

这是控制器动作:

public ActionResult InstructionsPDF()
    {
        return File(HostingEnvironment.MapPat("~/Files/Instructions.pdf"), "application/pdf"
    }

查看此问题后,一个常见的解决方案是将构建操作更改为“内容”。我检查了pdf上的属性,它们如下:

Browse to URL            |
Build Action             | Content
Copy to Output Directory | Copy always
Custom Tool              |
Custom Tool Namespace    |

任何建议都非常感谢欢迎,感谢您的宝贵时间。

【问题讨论】:

  • 您可以尝试使用 HttpContext.Current.Server.MapPath

标签: c# asp.net-mvc


【解决方案1】:

仔细检查该文件是否确实存在于服务器上的文件目录中。如果它存在,但仍生成 404,则您的 Web 服务器可能未配置为提供 pdf 文件(应用程序/pdf mime 类型)。

请参见此处,例如:IIS 7.5 404 Error for .PDF files

【讨论】:

  • 感谢您的回复,我已经查看并出现在文件系统中,我会尝试您的链接。
  • 不知道web.config中指定的答案应该放在哪里,你知道应该放在哪里吗?
  • 此特定答案适用于 SiteCore CMS 系统,因此不适用于您的方案。检查线程中的其他 cmets。其中一些可能适用。
  • 进一步搜索将我带到了这篇 Microsoft 文章:support.microsoft.com/en-ca/kb/979543 我可能会尝试指定的修复程序,然后如果它有效则发布答案。
猜你喜欢
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
相关资源
最近更新 更多