我遇到了一个小问题,Google 应用引擎提示我的 ttf 文件。内容是这样的:
Could not guess mimetype for css/fonts/Pacifico.ttf. Using application/octet-stream.
现在我已经关注了this链接并适本地更改了我的 yaml 文件(或者我认为是这样):
- url: /css/fonts/(.*\.ttf)
static_files: css/fonts/\1
upload: css/fonts/(.*\.ttf)
mime_type: application/x-font-ttf
但是当我这样做时,我得到以下结果:
appcfg.py: error: Error parsing C:\Users\Roberto\Desktop\bootstrap\app.yaml: mapping values are not allowed here
in "C:\Users\Roberto\Desktop\bootstrap\app.yaml", line 25, column 17.
2014-01-16 23:22:16 (Process exited with code 2)
在这件事上有什么帮助吗?
最佳答案
我用 glyphicons-halflings-regular.ttf from the Bootstrap project 做了测试使用您使用的相同 app.yaml 处理程序(根据注释保存缩进更改),并可以验证它是否按预期工作:
这让我相信您可能使用旧版本的 GAE SDK(我使用 1.8.8)或者您的安装有其他问题。
您可以尝试以下操作:appcfg.py
使用 python 的 mimetypes
模块从文件扩展名猜测类型,因此无论如何,您应该能够解决问题通过将 application/x-font-ttf
mime 类型添加到您的操作系统。
您使用的是 Windows,因此需要编辑注册表并将 application/x-font-ttf
键添加到 HKEY_CLASSES_ROOT\MIME\Database\Content Type
并在新键下添加一个名为 Extension
的字符串值,其值为 .ttf
。
将 mimetype 添加到 Windows 的扩展过程
- 打开注册表编辑器:按 Winkey + R 并输入
regedit
,按 Enter - 通过注册表导航到所需位置:打开
HKEY_CLASSES_ROOT
,在其中打开MIME
,在其中打开Database
,在其中打开内容类型
。它就像一个文件夹结构。 - 右键单击
内容类型
并选择新建> key
,并将其命名为application/x-font-ttf
。 - 右键单击您刚刚创建的键,然后选择
新建 > 字符串值
。将其命名为Extension
。 - 双击您刚刚创建的值并为其分配值数据
.ttf
,然后点击“确定”。 - 退出注册表即可完成!
最终没有:我认为这与文件本身没有任何关系,因为 mimetypes
模块仅使用文件扩展名来计算 MIME 类型。除非文件名中有一些疯狂的不可打印字符。您可以尝试使用我链接到的 glyphicons-halflings-regular 字体来消除这种可能性。
关于google-app-engine - Google App Engine 和 ttf 字体无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173168/