论坛首页 编程语言技术论坛

GAE中使用静态文件的三种方法

浏览 2942 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-18   最后修改:2009-11-18
1)在app.yaml文件里定义,这是最常见,最简单的方法,如:

- url: /media
  static_dir: media

注意:如果引用模板,则不能把templates定义为静态文件目录,否则会提示 TemplateDoesNotExist Error

2)使用zipserve,好处是可以把很多文件打包,因为GAE有1000个文件限制,如:

在根目录下添加tinymce.zip文件(不能为.rar)

在app.yaml里添加:

- url: /tinymce/.*
  script: $PYTHON_LIB/google/appengine/ext/zipserve

然后在view.py文件里导入zipserve模块

from google.appengine.ext import zipserve

在模板文件里就可以直接这样引用:

/tinymce/xxxxxx

注意:app.yaml里好象只能定义一个zipserve,例如

我已经定义了

- url: /tinymce/.*
  script: $PYTHON_LIB/google/appengine/ext/zipserve

就不能再定义

- url: /syntaxhighlighter/.*
  script: $PYTHON_LIB/google/appengine/ext/zipserve

本人测试不能正常调用/syntaxhighlighter/里的文件

3)使用django的静态文件服务

在urls.py里添加

import os

urlpatterns = auth_patterns + patterns('',

    ……
    (r'^themes/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': os.path.dirname(os.path.abspath(__file__)) + '/themes/'}),      
) + urlpatterns


原文http://gae-django-cms.appspot.com/cms/show_article/32061.html
   发表时间:2009-12-01  
您好,目前关于GAE应用,很多都是python的,我想问一下,用java的话,如何对静态文件进行读取操作呢?

默认情况下:web-inf下的所有文件都是静态文件,我的工程结构如下:
war
--web-inf
----classes
----devices
------***.zip

我想在doGet中将***.zip返回给客户端
File file = new File("/devices/***.zip"); 这句可以过
FileInputStream reader = new FileInputStream(file); 这一句就出错了,
说我access denied,后来我修改了java.plicy文件,还是不行。

请问这个问题如何解决呢? 谢谢~~
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics