2011-09-23 1 views
5

保存する前に、イメージの寸法を確認しようとしています。私はそれを変更する必要はありません、それは私の限界に合っていることを確認してください。UploadedFileをDjangoのPILイメージに変換する

今、ファイルを読み込んで問題なくAWSに保存できます。

中間にステップを入れて、ファイルのサイズと幅が適切であることを確認する必要があります。私のファイルは、ImageFieldを使用するフォームから来ていない、私が見たすべての解決策はそれを使用しています。

img = Image.open(filedata) 

答えて

1

私はこの前にやったが、私は私の古いスニペットを見つけることができないような何かを行う方法は、私たちが私の頭の上をオフに行くので、ここでは...あり

picture = request.FILES.get['picture'] 
img = Image.open(picture) 
#check sizes .... probably using img.size and then resize 

#resave if necessary 
imgstr = StringIO() 
img.save(imgstr, 'PNG') 
imgstr.reset() 

filedata = imgstr.read() 
+0

StringIOオブジェクトは、イメージを一時的にメモリに保存するために欠落していたオブジェクトです。ありがとう! – Mashakal

3
image = Image.open(file) 
#To get the image size, in pixels.  
(width,height) = image.size() 
#check for dimensions width and height and resize 
image = image.resize((width_new,height_new)) 
+0

(幅、高さ)= image.size not size() –

1

コード怒鳴るは、あなたが望むように、要求からイメージを作成します。

from PIL import ImageFile 
def image_upload(request): 
    for f in request.FILES.values(): 
     p = ImageFile.Parser() 
     while 1: 
      s = f.read(1024) 
      if not s: 
       break 
      p.feed(s) 
     im = p.close() 
     im.save("/tmp/" + f.name) 
関連する問題