在Python App Engine中复制Blob时,如何确保斑点元数据保留



我将图像文件上传到服务器并调整它以在数据存储中保存磁盘空间。我的调整大小的方法然后删除原始斑点,而仅保留斑点的小version可以消除所有元数据。有没有一种方法可以从原始斑点复制斑点元数据并将其添加到新的较小版本中?

def post(self):
    upload_files = self.get_uploads('file')
    blob_info = upload_files[0]
    if blob_info:
        img = images.Image(blob_key=blob_info)
        img.im_feeling_lucky()
        img.resize(width=600, height=800)
        smallVersion = img.execute_transforms(output_encoding=images.JPEG)
        file_name = files.blobstore.create(mime_type='image/jpeg')
        with files.open(file_name, 'a') as f:  
            f.write(smallVersion)
        files.finalize(file_name)
        blob_key = files.blobstore.get_blob_key(file_name)
        blobstore.delete(blob_info.key())
        blobCacheURL = images.get_serving_url(blob_key)

使用文件API创建斑点时,您可以设置上传的文件名:

file_name = files.blobstore.create(mime_type='image/png',_blobinfo_uploaded_filename=file_name_from_url)

我不知道编写文件时可以设置的其他斑点属性。您是否正在寻找MIME_TYPE旁边的其他属性?

最新更新