1

Rackspace CloudFilesを使用して画像を保存しました。今度はブラウザでギャラリーとして表示したいと思います。Rackspace 側から自分のファイルからサムネイルを生成する方法はありますか?

4

1 に答える 1

2

Rackspace または OpenStack Swift ライブラリでこれを行う方法はありませんが、プログラムで画像のサムネイルを作成してアップロードすることができます。

Python - pyrax + PIL (枕)

たとえば、Python を使用している場合は、Pillow (PIL) を使用してサムネイルを作成し、pyrax を使用してアップロードできます。pip installこの両方が必要になります。Pillow をインストールする前に、必ず libjpeg と libpng のシステム パッケージをインストールしてください (または、Pillow のインストール ドキュメントの指示に従ってください)。

import os
from StringIO import StringIO

import pyrax
from PIL import Image

# Authenticate with Rackspace
pyrax.set_setting("identity_type", "rackspace")
pyrax.set_credential_file(os.path.expanduser("~/.rax_creds"))
cs = pyrax.cloudservers
cf = pyrax.cloudfiles

# Get the container we'll be uploading to
gallery = cf.get_container("gallery")

# Arbitrarily setting a thumbnail size
maxwidth=64
maxheight=64

infile = os.path.expanduser("~/mommapanda.jpg")
# We'll use StringIO to simulate a file
out = StringIO()

im = Image.open(infile)

im.thumbnail((maxwidth,maxheight), Image.ANTIALIAS)
im.save(out, "PNG")

# Back to the start of our "file"
out.seek(0)

gallery.store_object("mommapanda.thumb.png", out.read(),
                     content_type="image/png")

上記のコードは、この大きな画像を変換します

ママパンダ

このサムネイルに

ママパンダのサムネイル

CloudFiles の gallery というコンテナーにアップロードします。

于 2013-10-28T11:39:24.563 に答える