我可以将包含大量数据的外部URL上传到App Engine blob商店吗?

时间:2012-11-08 21:34:14

标签: java google-app-engine url upload

我想将外部图像(我有URL)上传到Blobstore。我无法发布数据,就像在另一个网站上一样。

通过(a)使用获取服务获取URL然后(b)使用文件服务将URL中的数据存储为blob,可以直接上传。但是,这需要将数据加载到我正在运行的实例中。据我所知,fetch服务所有数据在上传之前必须驻留在内存中,这限制了最大数据量。如果获取服务流式传输的数据不会太糟糕。

有没有人知道我可以用内存效率的方式将外部图像复制到blob中?

蒂姆

1 个答案:

答案 0 :(得分:2)

如果服务器支持,您可以以块的形式下载文件。通常,服务器会通过发送 Accept-Ranges 标头来表明这一点。您可以通过设置 Range 标头来请求特定的字节范围。如果服务器接受此操作并仅服务于指定的字节范围,则会向请求发送 Content-Range 标头。

理论上,您应该能够继续追加文件对象,直到最终确定它为止。