Загрузите и обработайте файл KML в Google AppEngine - PullRequest
0 голосов
/ 21 марта 2012

Я не смог найти точного ответа на этот вопрос.

В моем приложении я хочу, чтобы пользователь мог загружать файл KML с помощью формы HTML. На стороне сервера я хочу проанализировать этот файл и извлечь определенную информацию (широта, долгота и т. Д.) Для хранения в базе данных.

В моей форме HTML у меня есть

<input type="file" name="datafile" size="40" />

На стороне сервера я получаю сообщение об ошибке синтаксического анализа, якобы потому, что файл рассматривается как строка имени файла, а не как файл, поэтому анализировать нечего.

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Я обнаружил, что мне нужно добавить атрибут enctype = "multipart / form-data" в мой тег формы. Затем в методе POST просто вызовите self.request.get («файл данных»). Это возвращает строку XML, которую мне просто нужно было передать в parseString ().

0 голосов
/ 22 марта 2012

Взгляните на документы в интернет-магазине: http://code.google.com/appengine/docs/python/blobstore/overview.html

Там есть пример, похожий на то, что вы делаете. В UploadHandler вы можете выполнять обработку KML, которую вы хотите. Если для обработки гигантского файла KML потребуется много времени, вы можете просто разрешить сохранение файла в хранилище больших двоичных объектов и запустить задачу, выполняющую фактическую обработку. (Я сделал то же самое с файлами CSV.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...