CherryPy发布静态文件的方法
来源:互联网 发布:手机读取速度软件 编辑:程序博客网 时间:2024/06/05 23:03
CherryPy发布静态文件的方法
可以使用两种方式发布CherryPy中的静态文件,比如发布图片或者其他不需要修改(by gashero)的静态文件。
·发布一个目录,如/images。需要修改CherryPy的配置,可以加入如下的一条来发布。
'/images':{
'static_filter.on':True,
'static_filter.dir':'/images'
}, #by gashero
如果是需要发布仅仅一个文件,则如下方法:
'/vrml.wrl':{
'static_filter.on':True,
'static_filter.file':'new.wrl'
}
按照这种发布时,发布的文件名可以随意修改,客户端所见到的文件名并非真正的文件名。
·按照返回文件句柄的方式。有些文件按照如上的方式在客户端是无法正确的识别文件类型的,比如上例发布的VRML源文件。所以偶尔需要这种底层一点,但是功能强大的方式-返回文件句柄。
返回文件句柄一般是使用default方法,从第一个参数获得客户端请求的文件名,然后判断此文件名是否允许响应,再根据对应文件名打开文件句柄并通过return返回此句柄。
但是注意的是,客户端浏览器(by gashero)并不是使用扩展名来识别文件类型的,而是通过HTTP头字段的'Content-Type'的MIME类型来识别的。所以对于一些怪异的文件类型,需要自己指定MIME类型才可以正确的显示。
如下的完整例子是用于返回一个VRML源文件的,并且客户端可以正确的显示。default方法多加的**o参数用于屏蔽多余的参数。此处只做了一个文件的返回,可以根据需要多加几个elif。
@cherrypy.expose #by gashero
def default(self,filename,**o):
if filename=='vrml.wrl':
cherrypy.response.headerMap['Content-Type']='application/x-vrml'
f=open('new.wrl','rb')
return f
散会
- CherryPy发布静态文件的方法
- CherryPy上传文件
- gashero的CherryPy笔记
- CherryPy的Hello World分析
- CherryPy wsgiserver模块的分析
- CherryPy的Hello World分析
- 基于cherrypy利用form表单上传一张图片的方法介绍
- 用freemarker、webwork发布静态页面的方法
- 【牛腩新闻发布系统】静态方法和非静态方法的调用
- Webwork生成静态文件的简单方法
- php生成静态文件的方法
- php生成静态文件的方法
- Django配置静态文件的方法
- django对静态文件的处理方法
- Django上静态文件的配置方法
- 基于python的web开发框架-CherryPy
- 使用 CherryPy 作为Django的Development Server
- 使用 CherryPy 作为Django的Development Server
- Mysql:用phpmyadmin匯出資料至XLS時中文亂碼7/8
- gashero的CherryPy笔记
- Duwamish 7.0学习笔记
- Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc
- web应用程序测试方法和测试技术详述
- CherryPy发布静态文件的方法
- jdbc连接各种数据库方式列表
- 恐怖袭击新方式:用笔记本电脑炸飞机
- CSS里面运行脚本
- 外部.js文件和外部.css文件
- 龟兔故事
- 展示JDBC存取ORACLE大型数据对象LOB几种情况的示范类
- JDBC和Hibernate来写入Blob型数据
- windows消息大全