0

谁能告诉我如何创建自定义处理程序(.ashx)文件。要求:当我的应用程序请求 .pdf 时,我想调用该 .ashx 处理程序。.ashx 处理程序将具有显示或不显示文件的逻辑。

我的传入路径是“http://www.domainname.com/Content/PDF/ABC.pdf”。此 URL 应由“http://www.domainname.com/Handler.ashx”文件处理。

我想知道如何在我的应用程序中创建、映射和注册处理程序

提前致谢。

4

1 回答 1

0

HTTPHandler如果您正在使用 ASP.NET MVC,为什么需要使用一种Action方法来为您的文件内容提供服务。你可以用HttpHandler一个 Action 方法做大部分的事情。您可以根据需要执行操作的路由, http://domainname.com/content/abc可以返回 abc.pdf 文件

您不应该直接让浏览器访问资源 (PDF)。相反,您通过一种action方法授予访问权限。从请求中读取action方法中的文件Id/name,读取文件并输出。假设您在您的ResourceController

public ActionResult GetFile(string id)
{
   string fullFilePath=somefullpathvariable+"//"+id+".pdf";
   return File(fullFilePath, "application/pdf", Server.UrlEncode(id+".pdf"));
}

现在用户可以像这样访问它

http://www.yourdomain.com/Resource/awesomemvc

现在这可以返回一个awesomemvc.pdf从存储在您的服务器中的位置调用的文件,并且您someFullPathVariable保存到该位置的路径

于 2012-05-23T11:54:53.560 回答