Found the issue:

storage of files is handled by sqlhtml and not by DAL.
So I have to write a function that replicate te file storage part of 
sqlhtml.

Il giorno martedì 6 maggio 2014 15:19:22 UTC+2, iw3...@gmail.com ha scritto:
>
> Thaks, I will try. 
> I don't think that the iproblem is the request. Using a socket sniffer I 
> saw that request made by browser and my script are the same.
> The problem could be in restful api.
>
> Il giorno martedì 6 maggio 2014 00:33:00 UTC+2, samuel bonill ha scritto:
>>
>> i use postman(http://www.getpostman.com/) for test restful api and works 
>> grate...
>>
>> El lunes, 5 de mayo de 2014 11:49:50 UTC-5, iw3...@gmail.com escribió:
>>>
>>> Hi!
>>>
>>> I have a SQLFORM with some filelds and an image (like example here: 
>>> http://web2py.com/books/default/chapter/29/07/forms-and-validators#SQLFORM).
>>>
>>> I have to populate the database using a python script. So I made a 
>>> generic restful api:
>>>
>>> @request.restful()
>>> def api():
>>>     response.view = 'generic.'+request.extension
>>>     def GET(*args,**vars):
>>>         patterns = [':auto[products]',
>>>                     '/products/code/{products.code}',
>>>                     '/products/code/{products.code}/:field',
>>>                     '/products/image_filename/{products.image_filename}'
>>> ,
>>>                     
>>> '/products/image_filename/{products.image_filename}/:field',
>>>                    ]
>>>         parser = db.parse_as_rest(patterns,args,vars)
>>>         if parser.status == 200:
>>>             return dict(content=parser.response)
>>>         else:
>>>             raise HTTP(parser.status,parser.error)
>>>     def POST(table_name,**vars):
>>>         return db[table_name].validate_and_insert(**vars)
>>>     def PUT(table_name,record_id,**vars):
>>>         return db(db[table_name]._id==record_id).validate_and_update(**
>>> vars)
>>>     def DELETE(table_name,record_id):
>>>         return db(db[table_name]._id==record_id).delete()
>>>     return dict(GET=GET, POST=POST, PUT=PUT, DELETE=DELETE)
>>>
>>> On python script  I use requests.post and genercs fields are ok.
>>> I used sintax from here ( 
>>> http://docs.python-requests.org/en/latest/user/quickstart/#post-a-multipart-encoded-file
>>>  
>>> ).
>>> This upload generally work but I have a big problem:
>>> uploading file from browser I find on DB the encoded name of file, and 
>>> dhe file on filesystem.
>>> Uploading from restful I find on db, instead of encoded file name, this:
>>>
>>> 'FieldStorage(''image'', ''test_image.jpg'', ''...binary data of 
>>> image'')'
>>>
>>> What's the correct way to upload a file using restful api?
>>>
>>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to