我已经成功地将文件 (xls) 读/写到我使用在 GAE 上运行的 App Engine App 创建的存储桶中。但是,当我尝试对图像文件执行相同操作时,会出现错误:
'对 Google Cloud Storage 的请求超时。', DownloadError('无法获取 URL: https://storage.googleapis.com/parse_scratch/TTM150 MSM63 04504.jpg',)
请帮忙。
针对 Benson 的问题,答案(连同我一直在使用的代码)如下:
单个文件大小:
不到 400 KB(有些不到 100 KB),我上传到 GCS 的一张图像我试图通过调用 gcs.open(fname, 'r') 来读取它是 22 KB。但是,我试图从同一个存储桶(使用相同的代码)读取的 xls 文件是 5 MB!
代码:
它是做什么的:它打开存储在我的 Django 框架的静态文件下的图像的 zip 文件,通过它一个一个地读取文件,并尝试使用 gcs_write() 将数据存储在 GCS 上。类似的代码(不通过 zip 文件,尝试读取 GCS 中存储的图像也无法读取,产生上述相同的错误)。
zip = zipfile.ZipFile(join(IMAGEPATH, f), 'r')
for imgwpath in zip.namelist():
if not (('.jpg' in imgwpath) or ('.jpeg' in imgwpath) or ('.gif' in imgwpath)):
continue
full_name = imgwpath.split('/')
image_name = full_name[len(full_name)-1]
data = zip.read(imgwpath)
if '.jpg' or '.jpeg' in image_name:
type = 'jpeg'
elif '.gif' in image_name:
type = 'gif'
filename = BUCKET + image_name
gcs_file = gcs.open(filename, 'w', content_type = 'image/jpeg')
gcs_file.write(data)
gcs_file.close()