Play框架(七) 静态文件

Play框架的主要功能是提供动态响应的内容。但一个网络项目中必然有大量的静态内容,比如图片、Javascript文件、CSS文件等。我下面介绍如何在Play项目中加入静态文件。

默认路径

Play项目的静态文件一般存储在根目录下的public文件夹。新建Play项目时,routes文件会有下面的默认记录:

# Map static resources from the /public folder to the /assets URL path
GET     /assets/*file               controllers.Assets.at(path="/public", file)

该记录将/assets/下的URL,对应到项目的/public文件夹内的文件。比如在项目的/public/images/test.jpg,就可以通过/assests/images/test.jpg这一URL访问:

其它类型的静态文件,也都可以放入/public文件夹中。

在Play的模板中,也可以利用@routes.Assets.at("images/test.jpg")的方式,来调用静态文件的URL。

时间: 2024-10-06 14:21:28

Play框架(七) 静态文件的相关文章

来玩Play框架07 静态文件

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   Play框架的主要功能是提供动态响应的内容.但一个网络项目中必然有大量的静态内容,比如图片.Javascript文件.CSS文件等.我下面介绍如何在Play项目中加入静态文件.   默认路径 Play项目的静态文件一般存储在根目录下的public文件夹.新建Play项目时,routes文件会有下面的默认记录: # Map static resources from the /

ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构

和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FileProvider对象.当这个中间件接收到匹配的请求后,会根据请求地址解析出对应目录的相对路径,并利用这个FileProvider获取目录的内容.目录的内容最终会以一个HTML文档的形式被定义,而此HTML最终会被这个中间件作为响应的内容,"目录浏览器"的实现原理就这么简单. [本文已经同步到&

ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面

DefaultFilesMiddleware中间件的目的在于将目标目录下的默认文件作为响应内容.我们知道,如果直接请求的就是这个默认文件,那么前面介绍的StaticFileMiddleware中间件会将这个文件响应给客户端.如果我们能够将针对目录的请求重定向到这个默认文件上,一切就迎刃而解了.实际上DefaultFilesMiddleware中间件的实现逻辑很简单,它采用URL重写的形式修改了当前请求的地址,即将针对目录的URL修改成针对默认文件的URL.[本文已经同步到<ASP.NET Cor

ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发布静态文件

虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件的请求.针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点.不过在针对对它们展开介绍之前,我们照理通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件.[本文已经同步到<ASP.NET Core框架揭秘>之中]

静态文件触发global.asax事件

问题描述 如何使用非.aspx文件(如.html.htm.txt)触发global.asax事件.dotnet版本为2.0 解决方案 解决方案二:问题是这样的,二级域名跳转放在global.asax可是用二级域名访问静态地址的问题报错了.(http://a.domain.com/test.html)因为静态文件不会触发test.html事件.解决方案三:如果有曾经遇到过类似问题的朋友麻烦帮忙有什么办法没有?解决方案四:什么错误,贴出来.解决方案五:因为静态文件不会触发test.html事件.不知

ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求

我们通过<以Web的形式发布静态文件>和<条件请求与区间请求>中的实例演示,以及上面针对条件请求和区间请求的介绍,从提供的功能和特性的角度对这个名为StaticFileMiddleware的中间进行了全面的介绍,接下来我们将更近一步,将从实现原理的角度来进一步认识这个中间件. [本文已经同步到<ASP.NET Core框架揭秘>之中] 目录 一.StaticFileMiddleware 二.ContentTypeProvider 三.利用配置指定StaticFileOp

根据.aspx生成的静态文件为什么和原.aspx页面的效果不一样

问题描述 message.asp->message.html.aspx原有的一些正则表达式验证.非空验证在静态页面中都不能用了,有什么办法可以解决吗? 解决方案 解决方案二:用伪静态吧解决方案三:帮顶,没这样做过解决方案四:伪静态很麻烦啊,不是自己的服务器解决方案五:.aspx原有的一些正则表达式验证.非空验证在静态页面中都不能用了,--------------------------------------------------------用的是.net里的验证控件吗?不过这些验证也可以在客

解析如何利用一个ASP.NET Core应用来发布静态文件_实用技巧

虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件的请求.针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点.不过在针对对它们展开介绍之前,我们照理通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件. 目录 一.以Web的形式读取文件 二.浏览目录内容 三.显示默认页面

ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddleware处理请求的逻辑,大部分读者都应该想得到:它根据请求的地址找到目标文件的路径,然后利用注册的ContentTypeProvider根据路径解析出与文件内容相匹配的媒体类型,默认情况下得到的媒体类型是根据目标文件的扩展名解析出来的.解析出来的媒体类型将作为响应报头Content-Type的值.St