Hello Massimo,

First of all thank you very much for your help.
I've done what you told me, to be exact:

file_name = auth.user.username+'.jpg'
print file_name
row.update(avatar=db.auth_user.avatar.store(request.post_vars['upload_field'
],filename=file_name))           

Running this, it seems that everything went well. 
The output is:
myuser.jpg

In the database I get this:
auth_user.id auth_user.username ... auth_user.avatar
1                            myuser             ...  *file*

file is a link pointing to:
https://192.168.1.131:8000/myapp/appadmin/download/db/auth_user.avatar.a633aec9680b76a0.6d696e6f6d6272652e6a7067.jpg
And the content of the file is ok, is the new avatar updated to the 
database.

But, do you know why the name is not myuser.jpg? I would like to call this 
link directly from the mobile, and it seems that the name is generated 
"randomly".
And, looking at the URL /donwload/db/..., is the image stored in the server 
or in the database? I've tried to find it in my server without success.

Thank you very much and kind regards!

El sábado, 5 de enero de 2013 01:50:00 UTC+1, Massimo Di Pierro escribió:
>
> yes
>
> row.update(avatar=db.tablename.avatar.store(request.post_vars[
> 'upload_field'],filename='yourname.ext'))
>
> On Friday, 4 January 2013 00:36:31 UTC-6, Wonton wrote:
>>
>> Hello Massimo!
>>
>> I bypass the form.proccess because this is a web service used by an iOS 
>> app. I do all frontend stuff in iOS and call this web service from the 
>> device.
>>
>> And regarding to change the name of the file, is it possible?
>>
>> kind regards!
>>
>> El viernes, 4 de enero de 2013 04:11:16 UTC+1, Massimo Di Pierro escribió:
>>>
>>> You can do
>>>
>>> row.update(avatar=db.tablename.avatar.store(request.post_vars[
>>> 'upload_field']))
>>>
>>> by why bypess form.process()? it does it for you.
>>>
>>> On Thursday, 3 January 2013 15:57:24 UTC-6, Wonton wrote:
>>>>
>>>> Hello!
>>>>
>>>> I'm trying to implement uploading user's avatar. I've tried to follow 
>>>> the image blog example from the book and some of the posts related to this 
>>>> issue in this forum and I'm still a bit confused and I don't know if I 
>>>> could do certain things or how to do them.
>>>>
>>>> What I would like to achieve is this:
>>>>
>>>> -Upload the avatar and store it in the file system. The link to the 
>>>> file will be stored in the database. As far as I know this is possible 
>>>> with 
>>>> Field('avatar', 'upload'). 
>>>> But, my first doubt: could I store the image file with a custom name, 
>>>> for example <auth_user.username>.jpg? I see that the file has a strange 
>>>> name when it's stored.
>>>>
>>>> -I would like the image to be public, anyone could see that image in 
>>>> any browser through its link.
>>>> But, my second doubt: the content of the avatar field in my database is 
>>>> a File, and when I go to that link I see the content of the file in the 
>>>> URL 
>>>> and don't see the image.
>>>>
>>>> Finally, my last doubt, in my web service I access the image data 
>>>> through request.post_vars. If I print this data I get something like this:
>>>> <Storage {'upload_field': FieldStorage('upload_field', 'myphoto_1.jpg', 
>>>> '\xff\xd8\ ... ... ...\x04\xd9')}>
>>>> I guess I have to store the image in the database with this:
>>>> row.update(avatar=request.post_vars['upload_field'])
>>>> Am I right?
>>>>
>>>>
>>>> Thank you very much!
>>>>
>>>>
>>>>
>>>>

-- 



Reply via email to