1

这个问题类似于如何将图像从 url 上传到 Blobstore?,但现在google.appengine.api.files已弃用。

我拥有的是一个网络表单,用户在其中插入一个 url,图像应该上传到 blobstore。然后在服务器端我获取 url 以获取图像数据并创建一个google.appengine.api.files.

没有它可以做到google.appengine.api.files吗?我想保持简单,就像用户提交图像并且服务器使用blobstore_handlers.BlobstoreUploadHandler

也许我可以在客户端做点什么,在客户端获取图像,然后使用相同的方法blobstore_handlers.BlobstoreUploadHandler

4

1 回答 1

0

您将需要使用 urlfetch(或 urllib2)来获取图像(在服务器端,基于传入的 url)。

然后您可以使用gcs 客户端将图像上传到 blobstore。

这是演示的片段:

def create_file(self, filename):
    """Create a file.
    The retry_params specified in the open call will override the default
    retry params for this particular file handle.

    Args:
      filename: filename.
    """
    self.response.write('Creating file %s\n' % filename)

    write_retry_params = gcs.RetryParams(backoff_factor=1.1)
    gcs_file = gcs.open(filename,
                'w',
                content_type='text/plain',
                options={'x-goog-meta-foo': 'foo',
                         'x-goog-meta-bar': 'bar'},
                retry_params=write_retry_params)
    gcs_file.write('abcde\n')
    gcs_file.write('f'*1024*1024 + '\n')
    gcs_file.close()
    self.tmp_filenames_to_clean_up.append(filename)
于 2013-08-23T10:07:57.327 回答