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?
>>
>