Wait a tick.
Why do you actually need PIL? Why not just directly store into the GridFS?
If you need image manipulation, then you have no choice but to use PIL's
handling.
You could do something like this:

img = Image.fromstring(f.read())
<do things that needed to be done>
write_image_into_database_thingy(img.tostring("jpeg")) #I think, that this
should be enough.

That's about it.

The upload part will give you tmp_file, whether you like it or not,
anyways. That's how uploads work.

On Mon, Feb 13, 2012 at 3:27 PM, Patrick Erdmann <patr...@perdmann.de>wrote:

> Am 11.02.2012 08:50, schrieb Primoz Anzur:
>
>  Maybe you've wanted Image.frombuffer() or Image.fromstring()?
>>
> I tried, but to "convert" a File Object to an Image - File Object i read
> to use Image.open(file).
>
> I dont want to use tmp_file or write it to disk, because i use GridFS to
> store Files.
>
>
>> On Sat, Feb 11, 2012 at 8:47 AM, Primoz Anzur <stormchas...@gmail.com
>> <mailto:stormchas...@gmail.com**>> wrote:
>>
>>    This is not how you use PIL
>>    
>> http://www.pythonware.com/**library/pil/handbook/image.htm<http://www.pythonware.com/library/pil/handbook/image.htm>
>>
>>    Image.open(infile) => image
>>    Image.open(infile, mode) => image
>>
>>
>>    On Fri, Feb 10, 2012 at 7:58 PM, Patrick Erdmann
>>    <patr...@perdmann.de <mailto:patr...@perdmann.de>> wrote:
>>
>>        f is image data, see here:
>>
>>        x = web.input(bilder={})
>>        b.set_image(x.bilder.file)
>>        ----
>>        f = x.bilder.file
>>        ----
>>
>>
>>        Am 09.02.2012 16:23, schrieb Primoz Anzur:
>>
>>            What is 'f'? Is it image data or the filename?
>>
>>            On Thu, Feb 9, 2012 at 12:38 PM, Patrick Erdmann
>>            <patr...@perdmann.de <mailto:patr...@perdmann.de>
>>            <mailto:patr...@perdmann.de <mailto:patr...@perdmann.de>>>
>>
>>            wrote:
>>
>>                Hi,
>>
>>                when i try to upload images i get following Error:
>>                UnicodeDecodeError: 'utf8' codec can't decode byte 0xff
>>            in position
>>                0: invalid start byte
>>
>>                . Everything works fine until i call Image.open(f), from
>>            PIL import
>>                Image.
>>
>>                x = web.input(bilder={})
>>                b = Bilder()
>>                b.set_image(x.bilder.file)
>>                b.save()
>>
>>                ...
>>                class Bilder(Document):
>>                ...
>>                def set_image(self, f):
>>                  _i = Image.open(f, 'wb')
>>                ...
>>
>>
>>                --
>>                Mit freundlichen Grüßen
>>
>>                Patrick Erdmann
>>
>>                XMPP/Mail: patr...@perdmann.de
>>            <mailto:patr...@perdmann.de> <mailto:patr...@perdmann.de
>>
>>            <mailto:patr...@perdmann.de>>
>>
>>
>>                --
>>                You received this message because you are subscribed to
>>            the Google
>>                Groups "web.py" group.
>>                To post to this group, send email to
>>            webpy@googlegroups.com <mailto:webpy@googlegroups.com**>
>>            <mailto:webpy@googlegroups.com
>>            <mailto:webpy@googlegroups.com**>__>.
>>
>>
>>                To unsubscribe from this group, send email to
>>                
>> webpy+unsubscribe@__googlegrou**__ps.com<http://googlegrou__ps.com>
>>            <http://googlegroups.com>
>>            
>> <mailto:webpy%2Bunsubscribe@__**googlegroups.com<http://googlegroups.com>
>>            
>> <mailto:webpy%252Bunsubscribe@**googlegroups.com<webpy%25252bunsubscr...@googlegroups.com>
>> >>.
>>
>>
>>                For more options, visit this group at
>>            
>> http://groups.google.com/____**group/webpy?hl=en<http://groups.google.com/____group/webpy?hl=en>
>>            
>> <http://groups.google.com/__**group/webpy?hl=en<http://groups.google.com/__group/webpy?hl=en>
>> >
>>
>>            
>> <http://groups.google.com/__**group/webpy?hl=en<http://groups.google.com/__group/webpy?hl=en>
>>            
>> <http://groups.google.com/**group/webpy?hl=en<http://groups.google.com/group/webpy?hl=en>
>> >>.
>>
>>
>>
>>            --
>>            You received this message because you are subscribed to the
>>            Google
>>            Groups "web.py" group.
>>            To post to this group, send email to webpy@googlegroups.com
>>            <mailto:webpy@googlegroups.com**>.
>>            To unsubscribe from this group, send email to
>>            webpy+unsubscribe@__googlegrou**ps.com<http://googlegroups.com>
>>            
>> <mailto:webpy%2Bunsubscribe@**googlegroups.com<webpy%252bunsubscr...@googlegroups.com>
>> >.
>>            For more options, visit this group at
>>            
>> http://groups.google.com/__**group/webpy?hl=en<http://groups.google.com/__group/webpy?hl=en>
>>            
>> <http://groups.google.com/**group/webpy?hl=en<http://groups.google.com/group/webpy?hl=en>
>> >.
>>
>>
>>
>>        --
>>        Mit freundlichen Grüßen
>>
>>        Patrick Erdmann
>>
>>        XMPP/Mail: patr...@perdmann.de <mailto:patr...@perdmann.de>
>>
>>        --
>>        You received this message because you are subscribed to the
>>        Google Groups "web.py" group.
>>        To post to this group, send email to webpy@googlegroups.com
>>        <mailto:webpy@googlegroups.com**>.
>>        To unsubscribe from this group, send email to
>>        webpy+unsubscribe@__googlegrou**ps.com <http://googlegroups.com>
>>        
>> <mailto:webpy%2Bunsubscribe@**googlegroups.com<webpy%252bunsubscr...@googlegroups.com>
>> >.
>>        For more options, visit this group at
>>        
>> http://groups.google.com/__**group/webpy?hl=en<http://groups.google.com/__group/webpy?hl=en>
>>        
>> <http://groups.google.com/**group/webpy?hl=en<http://groups.google.com/group/webpy?hl=en>
>> >.
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "web.py" group.
>> To post to this group, send email to webpy@googlegroups.com.
>> To unsubscribe from this group, send email to
>> webpy+unsubscribe@**googlegroups.com<webpy%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/**group/webpy?hl=en<http://groups.google.com/group/webpy?hl=en>
>> .
>>
>
>
> --
> Mit freundlichen Grüßen
>
> Patrick Erdmann
>
> XMPP/Mail: patr...@perdmann.de
>
> --
> You received this message because you are subscribed to the Google Groups
> "web.py" group.
> To post to this group, send email to webpy@googlegroups.com.
> To unsubscribe from this group, send email to webpy+unsubscribe@**
> googlegroups.com <webpy%2bunsubscr...@googlegroups.com>.
> For more options, visit this group at http://groups.google.com/**
> group/webpy?hl=en <http://groups.google.com/group/webpy?hl=en>.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To post to this group, send email to webpy@googlegroups.com.
To unsubscribe from this group, send email to 
webpy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/webpy?hl=en.

Reply via email to