配置MIME类型 [英] Configuring MIME type
本文介绍了配置MIME类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想配置我的mime类型:
Hi I want to configure my mime type:
KML文件的MIME类型为
The MIME type for KML files is
* application/vnd.google-earth.kml+xml
如何使用Google App Engine执行此操作?我在看起来像这样的模板上生成KML:
How can I do this with google app engine? I generate KML on a template that looks like this:
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>{% for article in articles %}{% if article.geopt %}
<Placemark><name></name>
<description>
<![CDATA[{% if article.kmluri2view %}<img src="http://{{host}}/images/{{ article.kmluri2view.key.id }}.jpg">{% endif %}<a href="http://{{host}}/{{article.key.id}}"> {{ article.title }} </a><br/>{{article.text}}]]></description><Point><coordinates>{{article.geopt.lon|floatformat:2}},{{article.geopt.lat|floatformat:2}}</coordinates></Point>
</Placemark>{% endif %}{% endfor %}
</Document>
</kml>
更新了代码,我尝试如下设置MIME类型.我如何验证它可以正常工作?
Updated the code I try set the MIME type like below. How can I verify it works?
class KMLHandler(webapp.RequestHandler):
def get(self):
start=datetime.datetime.now()-timedelta(days=10)#vary
host = os.environ.get("HTTP_HOST", os.environ["SERVER_NAME"])
logging.debug('host '+host)
count = int(self.request.get('count')) if not self.request.get('count')=='' else 1000
from google.appengine.api import memcache
memcache.flush_all()
memcache_key = "ads"
data = memcache.get(memcache_key)
if data is None:
a= Ad.all().filter("modified >", start).filter("url IN", ['www.koolbusiness.com']).filter("published =", True).order("-modified").fetch(count)
memcache.set("ads", a)
else:
a = data
dispatch='templates/kml.html'
template_values = {'a': a , 'request':self.request, 'host':host}
path = os.path.join(os.path.dirname(__file__), dispatch)
self.response.headers['Content-Type'] = 'application/vnd.google-earth.kml+xml'
self.response.out.write(template.render(path, template_values))
推荐答案
只需在响应中将Content-Type
标头设置为所需的mimetype.例如,如果您使用的是webapp,您可以这样做:
Simply set the Content-Type
header in the response to the mimetype you want. If you're using webapp, for instance, you do it like this:
self.response.headers['Content-Type'] = 'application/vnd.google-earth.kml+xml'
这篇关于配置MIME类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文