2013-06-30 55 views
0

时,我得到了同样的问题报道here与我Python应用程序。使用AppEngine上1.8.1,当我尝试部署,我收到以下错误:“无效字符的文件名:__static__”部署到谷歌的AppEngine

Error 400: --- begin server output --- 
Invalid character in filename: __static__\static/config/sboxwsdl.xml 

我想这是在抱怨反斜杠。路径“__static__\”的部分不是我可以在应用程序中更改的部分;它在appengine代码中完成。用google/appengine/appcfg.py中的posixpath.join代替os.path.join并不能解决它。这是我的app.yaml文件:使用application_readable当PHP &的Python看到在Windows 1.8.1部署

application: theappiamwriting 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 

- url: /files/csv 
    static_dir: static/csv 
    mime_type: text/csv 
    application_readable: true 

- url: /files/config 
    static_dir: static/config 
    mime_type: text/xml 
    application_readable: true 
+0

你需要向我们展示了*代码*;我们无法确定'\ s'从哪里来。 –

+0

编辑这个问题来解释“\”是由appengine代码添加的,而不是我的。 – donmac23

+0

你如何向我们展示你的代码*无论如何*。 –

回答

0

问题。发行标记: https://code.google.com/p/googleappengine/issues/detail?id=9558

解决方法:

在谷歌的AppEngine \谷歌\ AppEngine上\工具代替os.path.join与posixpath.join \ appcfg.py

+0

感谢您的提示。那对我没有用。同时,我的解决方法是将每个静态文件的内容定义为一个python变量,并实现一个返回内容的处理程序。好的我的几个文本文件,可能更多的是二进制文件的麻烦(我不必担心)。我想到的其他选择是将它们托管在单独的appengine项目中(当然还有其他地方)。 Appengine项目应该可以工作,因为从我读过的内容来看,问题似乎与将application_readable属性设置为true时相关。 – donmac23

0

从上述googleappengine问题,这个问题似乎出现在static_dir标记为application_readable = true的情况下。

一种解决方法,因为这工作对我来说,要么删除application_readable属性或移动需要通过脚本,而无需application_readable适用于它被读取到一个单独的目录中的文件。 (请记住,application_readable表示脚本可读的文件)。

我试图在appcfg.py posixpath.join更换os.path.join,但它似乎并没有为谷歌应用程序引擎的SDK 1.8.1版本。