NancyFX 第九章 Responses(响应对象)
和内容协商最最为紧密的当属Nancy的Response对象。
在本书的第一张你应该就已经看到过Response对象,之前是使用它的AsFile 方法返回一个简单文件。
using Nancy; namespace nancybook.modules { public class BaseRoutes : NancyModule { public BaseRoutes() { Get[@"/"] = _ => Response.AsFile("index.html", "text/html"); } } }
你可以通过AsFile 方法检索服务器的文件系统,通过设置mine类型(文件类型),促使客户端进行下载或者使用特定的方式打开。
在最新发布的谷歌浏览器中一般都内置了PDF阅读器,所以很简单就能定义一个路由模块向客户端浏览器发送PDF文件。
using Nancy; namespace nancybook.modules { public class BaseRoutes : NancyModule { public BaseRoutes() { Get[@"/"] = _ => Response.AsFile("myreport.pdf", "application/pdf"); } } }
正如你看到的,浏览器中展示了PDF:
一般情况下,使用这种方式返回文件,你需要考虑到终端用户浏览器的处理设置。一些用户可以设置单独的阅读器打开PDF文件,或者是把文件下载到磁盘。通过这种方式返回文件,并正确设置mime类型(文件类型),其实就是告诉浏览器你发送了什么文件,让它决定如何处理。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步