I just noticed one image created in upload folder and one txt file.
Inside the txt file i see the name of jpg file created above.


why is that?

help please :)

António

2013/1/16 António Ramos <ramstei...@gmail.com>

> can onvalidation set upload  file field?
>
> i was complaining that form.vars was empty.
> It is if the controller does not return the form to the view
> So i return the form and away with my quest.
>
> Now, in onvalidation i set  the field with the upload file.
> I have to becaue i have a different upload button that goes online to get
> a file.
> Its working but the image file i set goes as a txt file to the database,
> why
>
>
> here my code:
> (I use PIL module)
>
> *if
> trabalhador_form.process(onvalidation=attach_image_to_record).accepted:*
>
> *def attach_image_to_record(form):*
>
>     response=requests.get(form.vars.fp_url)
>     img=Image.open(StringIO(response.content))
>     img.save('foto1231.jpg','JPEG')
>     temp=open('foto1231.jpg','rb')
>     photo=db.trabalhador.foto.store(temp,'foto.jpg')
> *    print photo   # echoes something like
> "trabalhador.foto.989708787087078.9823492034.jpg*
>     form.vars.photo=photo  *# here is where someting goes wrong....*
>
> This is very important for me ,
> can anyone explain why a jpg is inserted as a txt? how to force jpg ?
>
> Thank you
> António
>
>
> 2013/1/15 António Ramos <ramstei...@gmail.com>
>
>> I´m testing this book example
>> http://web2py.com/books/default/chapter/29/07#onvalidation
>> I get error on field named 'a'
>>
>>
>> Traceback (most recent call last):
>>   File "C:\web2pyGit\web2py\gluon\restricted.py", line 212, in restricted
>>
>>
>>
>>     exec ccode in environment
>>   File "C:/web2pyGit/web2py/applications/teste1/models/db.py" 
>> <http://127.0.0.1:8000/admin/default/edit/teste1/models/db.py>, line 91, in 
>> <module>
>>
>>
>>
>>     Field('c', 'integer', readable=False, writable=False))
>>
>>
>>
>>   File "C:\web2pyGit\web2py\gluon\dal.py", line 7189, in define_table
>>
>>
>>
>>     table = self.lazy_define_table(tablename,*fields,**args)
>>
>>
>>
>>   File "C:\web2pyGit\web2py\gluon\dal.py", line 7206, in lazy_define_table
>>
>>
>>
>>     table = table_class(self, tablename, *fields, **args)
>>
>>
>>
>>   File "C:\web2pyGit\web2py\gluon\dal.py", line 7612, in __init__
>>
>>
>>
>>     db.check_reserved_keyword(field_name)
>>
>>
>>
>>   File "C:\web2pyGit\web2py\gluon\dal.py", line 6933, in 
>> check_reserved_keyword
>>
>>
>>
>>     'invalid table/column name "%s" is a "%s" reserved SQL keyword' % (name, 
>> backend.upper()))
>>
>>
>> SyntaxError: invalid table/column name "a" is a "ALL" reserved SQL keyword
>>
>>
>> So i renamed all to a1,b1,c1 and it works !
>>
>> Now my initial complain is still not working. I will test tomorrow and
>> post some code.
>> Meanwhile please check why a is not a valid field name and update the
>> book if necessary.
>> thank you
>>
>> 2013/1/15 Anthony <abasta...@gmail.com>
>>
>>> form.vars should work. Can you show more code? Note, form.request_vars
>>> is simply a copy of the original request.post_vars, so not equivalent to
>>> form.vars.
>>>
>>> Anthony
>>>
>>>
>>> On Tuesday, January 15, 2013 10:17:08 AM UTC-5, Ramos wrote:
>>>>
>>>> hello reading the book online i tried the code
>>>>
>>>>
>>>> def my_form_processing(form):
>>>>     c = form.vars.a
>>>>
>>>>     form.vars.b
>>>>     if c < 0:
>>>>         form.errors.b = 'a'
>>>>     else:
>>>>         form.vars.c = c
>>>>
>>>>
>>>>
>>>> but form.vars was empty
>>>>
>>>> to access my form vars i changed to form.request_vars
>>>>
>>>> *Is the book wrong?*
>>>>
>>>> Thank you
>>>> António
>>>>
>>>  --
>>>
>>>
>>>
>>>
>>
>>
>

-- 



Reply via email to