Javascript Google App Engine尝试通过App.yaml上载静态.mp3文件时失败
我正在尝试为我的web应用程序提供一些可以通过JavaScript访问的音频 音频文件(大小约20 kB)位于Javascript Google App Engine尝试通过App.yaml上载静态.mp3文件时失败,javascript,google-app-engine,web,Javascript,Google App Engine,Web,我正在尝试为我的web应用程序提供一些可以通过JavaScript访问的音频 音频文件(大小约20 kB)位于root/sounds文件夹中;与其他静态文件(css样式表、JavaScript文件、图像等)一样,我将以下内容添加到我的app.yaml中: - url: /sounds static_dir: sounds 但当我尝试部署我的应用程序时,该工具会抛出以下错误: 2015-08-02 17:34:35,805 ERROR appcfg.py:2621 An unexpected
root/sounds
文件夹中;与其他静态文件(css样式表、JavaScript文件、图像等)一样,我将以下内容添加到我的app.yaml中:
- url: /sounds
static_dir: sounds
但当我尝试部署我的应用程序时,该工具会抛出以下错误:
2015-08-02 17:34:35,805 ERROR appcfg.py:2621 An unexpected error occurred. Aborting.
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2459, in DoUpload
self._UploadMissingFiles(missing_files, openfunc)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2600, in _UploadMissingFiles
self.blob_batcher.Flush()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 1464, in Flush
self.SendBatch()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 1423, in SendBatch
payload,
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 40: ordinal not in range(128)
这是谷歌应用程序引擎的错误,还是我做错了什么
我使用的是Windows 10,如果这有区别的话。更新:我最初的怀疑偏离了目标。隐藏在注释中的修复方法是为
app.yaml
添加音频文件的mime\u类型:
更新2:找到了它appcfg
使用mimetypes
,它尝试从本地系统获取mime类型映射的扩展名,以与静态文件关联。对于Windows,这意味着咨询注册表。新安装的Windows 10不知道什么是.mp3
。app.yaml
中的mime\u类型:
覆盖绕过查找
这是一个有趣的堆栈跟踪。我怀疑这可能与声音中的一个或多个文件名有关,但我手头没有Win10可供试验
是否有任何文件名包含扩展字符集中的字符?(例如,变码或其他非ascii码)?如果你不想显示名称,一个简单的实验就是看看你是否上传了一个版本的应用程序,在声音中有一个文件,其中该文件有一个通用名称(比如example.mp3
)。如果这是可行的,那就是缩小问题的范围
添加:首先尝试上载并清空sounds
目录是值得的,以排除问题在其他地方的情况。您已经尝试过了吗?您是通过启动器部署还是通过命令部署line@Anbarasan文件夹中唯一的声音是“success.mp3”,所以我认为这不是问题。你能用一个空的声音上传吗?
?现在就出来,我几小时后回来时会试试。谢谢。我试着在我的一个应用程序中添加一个静态mp3(从Linux部署),效果很好。请尝试一个空的声音文件夹,如果只是为了缩小问题的范围。@dave-w-smith我尝试上传空文件夹,效果很好。似乎问题出在mp3文件上。