replace with:
response_image = requests.get('
https://kc.kobotoolbox.org/attachment/large?media_file=%s' %
(x['filename']),stream=True)
img2 = db.insect_images.image.store(response_image.content,x['filename'])
db.insect_images.insert(image=img2, accession_code=dat['accession_code_'])
You do not need PIL for this.
On Tuesday, 19 July 2016 14:54:10 UTC-5, mayrolin0 wrote:
>
> I was wondering if someone could help me with something that I think
> should be simple or basic, but I can't seem to figure out. I'm just
> starting to work with web2py/python and I'm not sure how to save an image
> from a request. I'm trying to save an image from a get request into an
> upload database field. I feel like I'm missing one part but I'm not sure
> what it is.
>
> This is the model:
>
> db.define_table('insect_images',
> Field('accession_code', 'reference accessions',required=True),
> Field('name'),
> Field('image', 'upload'),
> singular = 'insect_image',
> plural = 'insect_images',
> format = '%(name)s')
>
> Here's the code:
>
> import requests, json, re
> from requests.auth import HTTPBasicAuth
> from PIL import Image
> from StringIO import StringIO
>
> response_image = requests.get('
> https://kc.kobotoolbox.org/attachment/large?media_file=%s' %
> (x['filename']),stream=True)
> img = Image.open(StringIO(response_image.content))
> img2 = db.insect_images.image.store(img,x['filename'])
> db.insect_images.insert(image=img2,accession_code=dat['accession_code_'])
>
>
> When I run this, I get this error:
>
> <type 'exceptions.AttributeError'> read
>
> Traceback (most recent call last):
> File "/usr/lib/pymodules/python2.7/gluon/restricted.py", line 205, in
> restricted
> exec ccode in environment
> File "/home/mayrolin/web2py/applications/test1/controllers/default.py",
> line 294, in <module>
> File "/usr/lib/pymodules/python2.7/gluon/globals.py", line 173, in
> <lambda>
> self._caller = lambda f: f()
> File "/usr/lib/pymodules/python2.7/gluon/tools.py", line 2575, in f
> return action(*a, **b)
> File "/home/mayrolin/web2py/applications/test1/controllers/default.py",
> line 226, in kobofetch
> img2 = db.insect_images.image.store(i,x['filename'])
> File "/usr/lib/pymodules/python2.7/gluon/dal.py", line 7366, in store
> shutil.copyfileobj(file, dest_file)
> File "/usr/lib/python2.7/shutil.py", line 49, in copyfileobj
> buf = fsrc.read(length)
> File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 528, in
> __getattr__
> raise AttributeError(name)
> AttributeError: read
>
>
> Any help will be appreciated!
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.