2016-01-07 3 views
0

Я пытаюсь повернуть и сохранить изображение в GCS с помощью кода ниже.Как установить тип содержимого изображения перед его сохранением в blobstore?

img = images.Image(blob_key=image.blob) 
img.rotate(270) 
t = img.execute_transforms(output_encoding=images.PNG) 
filename = '/' + UploadHandler.get_gs_bucket_for_images() + 'blobstore_demo.png' 

with gcs.open(filename, 'w') as f: 
    f.write(t) 

blobstore_filename = '/gs' + filename 

key = blobstore.create_gs_key(blobstore_filename) 

Но когда я пытаюсь просмотреть файл, используя средство просмотра blostore GAE, я получаю зашифрованное изображение. То есть тип содержимого для этого блоба не установлен на image/png. Итак, как мне удалось установить тип контента?

ответ

1

Вы можете определить MimeType изображения, просто изменить YOR код таким образом:

img = images.Image(blob_key=image.blob) 
img.rotate(270) 
t = img.execute_transforms(output_encoding=images.PNG) 
filename = '/' + UploadHandler.get_gs_bucket_for_images() + 'blobstore_demo.png' 
mimetype = 'image/png' 
with gcs.open(filename,'w', content_type=mimetype) as f: 
    f.write(t) 

blobstore_filename = '/gs' + filename 

ключ = blobstore.create_gs_key (blobstore_filename)

+0

Как я не смог увидеть содержимое 'метода gcs.open' ? –

+0

отображает 'filename' как' None' .. Любой зол для этого? –

Смежные вопросы