python - App Engine - 将来自 API 的响应保存在数据存储中作为文件 (blob)

标签 python google-app-engine api google-cloud-datastore

我用这个把头撞在墙上:

我想要做的是将从 API 返回的文件作为 blob 存储在数据存储中。

这是我在本地机器上使用的代码(由于现有的文件系统,它当然可以工作):

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

由于我无法写入 App Engine 上的文件,我尝试了多种方法来存储响应,但都没有成功。 有关如何执行此操作的任何提示?我试图用 StringIO 来做到这一点并设法存储响应,但后来无法将其作为 blob 存储在数据存储中。

谢谢, 克里斯

最佳答案

发现错误。这是现在的样子(简化版)。

    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()”的情况下保存输出,这就是问题所在。也许这对将来的某个人有用:)

关于python - App Engine - 将来自 API 的响应保存在数据存储中作为文件 (blob),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935918/

相关文章:

python - 使用 Python 删除或防止 OpenCV 中的重复模板匹配

python - 使用 pandas to_gbq 读取数据在 Google BigQuery 中创建表时出现 400 错误

c# - Intrinio GetSecurityIntradayPrices 示例不起作用 - 将值 "iex"转换为类型 'System.Nullable' 时出错

java - 如果您安装了 Google Plugin for Eclipse,是否还需要下载 App Engine Java SDK?

django - 无法使用 Django ModelForm 验证动态选择

python - 在 Python 中使用请求发出 HTTP POST 请求

node.js - Node 和reactjs axios服务器请求返回index.html文件而不是json

python - Pandas 按 block 而不是单个值进行分组

python - Project Euler 在 python 中获得最小倍数

google-app-engine - 如何对作为 slice 的接口(interface){}进行子 slice ?