Thanks.

I need to solve the problem of the file not been uploaded to the blob field.

I believe i am doing it correctly.

I defined the model 
db.define_table('image',
                Field('url','string'),
                Field('image_file','blob'),
                Field('image_upload','upload',uploadfield='image_file'))


I stepped through the code for the store function 
(db.image.image_upload.store(response,filename=url))).

I expect line 7345 to turn out to be true to it eval to false. So my file 
is never uploaded to the blob file. 
File: gluon.dal

Line 7345:   if isinstance(self.uploadfield,Field):
Line 7346:            blob_uploadfield_name = self.uploadfield.uploadfield
Line 7347:            keys={self.uploadfield.name: newfilename,
Line 7348:                  blob_uploadfield_name: file.read()}
Line 7349:            self.uploadfield.table.insert(**keys)


I am assuming that I am messing up my define_table. Or I am using the wrong 
field when i call the store function. 



On Thursday, July 5, 2012 7:36:39 PM UTC-7, Massimo Di Pierro wrote:
>
> I did not know you were storing it in a blob. Try:
>
>
> def getImage(url,db): 
>     user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
>     headers = {'User-Agent': user_agent}
>     
>     req = urllib2.Request(url,"",headers)
>     
>     try:
>         response = urllib2.urlopen(req)
>     except urllib2.URLError, e:
>         if hasattr(e, 'reason'):
>             print 'We failed to reach a server.'
>             print 'Reason: ', e.reason
>         elif hasattr(e, 'code'):
>             print 'The server couldn\'t fulfill the request.'
>             print 'Error code: ', e.code
>     id = 
> db.image.insert(url=url,image_uplaod=db.image.image_upload.store(response,filename=url))
>     db.commit() # not sure if needed, depends on where executed
>     return id
>
> def imageLookup():
>     id = request.vars.id
>     response.headers['Content-Type']='image/jpeg' 
>     return db.image[id].image_file
>
> On Thursday, 5 July 2012 14:16:55 UTC-5, RCTYCO wrote:
>>
>> Thank you for the quick response.
>>
>> I added the lines above : (  id = 
>> db.image.insert(url=url,image=db.image.image_upload.store(response,filename=url))
>>     db.commit() )
>>
>> It uploaded the information (url and renamed the file) but I don't 
>> believe it upload the image to the database.
>>
>> This is what it uploaded. Image_file is empty. 
>> id,url,image_upload,image_file
>> '1', 'http://eandata.com/image/products/000/000/015/0000000151122.jpg', 
>> 'image.image_upload.94df8d0ebb1047e0.303030303030303135313132322e6a7067.jpg',
>>  
>> <Null>
>>
>> This is my model.
>> Model
>> db.define_table('image',
>>                 Field('url','string'),
>>                 Field('image_upload','upload',uploadfield='image_file'),
>>                 Field('image_file','blob'))
>>
>> Any suggestions?
>>
>

Reply via email to