我使用以下代码成功地将图像发布到我的 Google AppEngine 应用程序:
def post(self):
image_data = self.request.get('file')
file_name = files.blobstore.create(mime_type='image/png')
# Open the file and write to it
with files.open(file_name, 'a', exclusive_lock=True) as f:
f.write(image_data)
# Finalize the file. Do this before attempting to read it.
files.finalize(file_name)
# Get the file's blob key
blob_key = files.blobstore.get_blob_key(file_name)
self.response.out.write(images.get_serving_url( blob_key ))
但是,当我浏览由 输出的 URL 时get_serving_url()
,图像始终处于降低的分辨率。为什么?我已经检查并仔细检查了发布的图像尺寸是否正确(来自 iPhone 相机,分辨率约为 3200x2400)。然而,提供的图像始终是 512x384。
我对 GAE 还很陌生,但我认为上面的代码应该将图像存储在 BlobStore 而不是数据存储中,从而绕过 1 MB 的限制。
有谁知道会发生什么?
干杯,布雷特