我们在 ISS 7.5 中托管 C# 3.5 网络应用程序。
生成 PDF 文件并将其放在某个目录中。目录列表被禁用。使用所有浏览器(IE10、FF、Opera...),我们都可以访问 PDF。
使用 Chrome 访问 URL 时,会加载 PDF……然后我们会收到 403 错误。如果我们禁用 chrome 内部 pdf 查看器并告诉它使用 Adobe 的,它工作正常。
有什么问题?
我们在 ISS 7.5 中托管 C# 3.5 网络应用程序。
生成 PDF 文件并将其放在某个目录中。目录列表被禁用。使用所有浏览器(IE10、FF、Opera...),我们都可以访问 PDF。
使用 Chrome 访问 URL 时,会加载 PDF……然后我们会收到 403 错误。如果我们禁用 chrome 内部 pdf 查看器并告诉它使用 Adobe 的,它工作正常。
有什么问题?
问题在这里解释: http://productforums.google.com/forum/#!topic/chrome/ 1mSjCjabwPE
但是上面提到的知识库不能应用,所以我们会用一些HttpHandler
.
public void ProcessRequest(HttpContext context)
{
switch (context.Request.HttpMethod)
{
case "GET":
if (!context.User.Identity.IsAuthenticated)
{
FormsAuthentication.RedirectToLoginPage();
return;
}
string requestedFile = context.Server.MapPath(context.Request.FilePath);
context.Response.ContentType = "application/pdf";
context.Response.TransmitFile(context.Server.MapPath(context.Request.FilePath));
context.Response.End();
break;
}
}