我无法找到这个问题的确切答案。
在我的应用中,我希望用户能够使用HTML表单上传KML文件。在服务器端,我想解析该文件并提取某些信息(lat,lon等)以存储在数据库中。
在我的HTML表单中,我有
<input type="file" name="datafile" size="40" />
在服务器端,我从解析中收到错误,表面上是因为文件被视为文件名字符串,而不是文件,所以没有什么可以解析。
答案 0 :(得分:1)
我发现我需要在表单标记上放置一个enctype =“multipart / form-data”属性。然后在POST方法中,只需调用self.request.get(“datafile”)。这将返回xml字符串,我只需将其传递给parseString()。
答案 1 :(得分:0)
查看blobstore文档:http://code.google.com/appengine/docs/python/blobstore/overview.html
有一个例子与你正在做的类似。在UploadHandler中,您可以执行要执行的KML处理。如果处理巨大的KML文件需要很长时间,您可以考虑只允许将文件保存在blobstore中,并启动执行实际处理的Task。 (我对CSV文件做了类似的事情。)