App Engine - Сохранить ответ от API в хранилище данных в виде файла (блоб) - PullRequest
3 голосов
/ 29 мая 2010

Я бьюсь головой о стену этим:

Что я хочу сделать, это сохранить файл, возвращаемый из API, в хранилище данных в виде большого двоичного объекта.

Вот код, который я использую на своей локальной машине (который, конечно, работает из-за существующей файловой системы):

client.convertHtml(html, open('html.pdf', 'wb'))

Поскольку я не могу записать файл в App Engine, я попытался сохранить ответ несколько раз, но безуспешно. Любые советы о том, как это сделать? Я пытался сделать это с помощью StringIO, и мне удалось сохранить ответ, но потом я не смог сохранить его в виде большого двоичного объекта в хранилище данных.

Спасибо, Chris

1 Ответ

2 голосов
/ 29 мая 2010

Нашли ошибку. Вот как это выглядит сейчас (упрощенно).

    output = StringIO.StringIO()

    try:
        client.convertURI("example.com", output)
        Report.pdf = db.Blob(output.getvalue())
        Report.put()  
    except pdfcrowd.Error, why:
        logging.error('PDF creation failed %s' % why)

Я пытался сохранить вывод без вызова «getvalue ()», в этом была проблема Возможно, это пригодится кому-то в будущем:)

...