no, works perfectly fine with whatever uploadfolder you set: the important
thing is that you are showing an image that was uploaded when uploadfolder
was already set as your current one (in other words, uploads done with a
different uploadfolder will not be found because they reside into another
folder)
Just checked with stable: {{=IMG(_src=URL('default', 'download',
args=row.image))}} works ok with a custom uploadfolder.
On Wednesday, December 5, 2012 7:01:52 PM UTC+1, Daniele wrote:
>
> Yeah I checked my controller and it's uploading images to
> Field('image', 'upload',
> uploadfolder=os.path.join(request.folder,'uploads/profiles/')
>
> Is there a default directory where the download() function wants images to
> be?
>
>
> On Wed, Dec 5, 2012 at 5:55 PM, Daniele Pestilli
> <[email protected]<javascript:>
> > wrote:
>
>> hmm still not working. I think it's because I set the upload directory to
>> uploads/profiles/ so it's not finding the image. Maybe if I change that
>> setting it will work...
>>
>>
>>
>> On Wed, Dec 5, 2012 at 5:43 PM, Niphlod <[email protected]
>> <javascript:>>wrote:
>>
>>> ehm.... in html you need to do <img src="/something/photo.png" />.
>>> {{=URL('default', 'download', args=row.image)}} is just the portion to
>>> put into the img tag as the src's attribute value
>>>
>>> {{=IMG(
>>> _src=URL('default', 'download', args=row.image)
>>> )
>>> }}
>>>
>>> is the right one!
>>>
>>> On Wednesday, December 5, 2012 6:36:10 PM UTC+1, Daniele wrote:
>>>>
>>>> I have def download(): return response.download(request,db) in my
>>>> controller. But when I put {{=URL('default', 'download', args=row.image)}}
>>>> in my view I'm just getting a string. Perhaps because the file was not
>>>> saved to this directory?
>>>>
>>>> On Wednesday, December 5, 2012 2:25:57 PM UTC, Anthony wrote:
>>>>>
>>>>> You do not specify the "uploads" directory in the URL. Instead, you
>>>>> need to define a function that calls response.download() and pass the
>>>>> filename to that function via the last URL argument (i.e.,
>>>>> request.args[-1]). In fact, this function is already provided for you
>>>>> in the "welcome" app:
>>>>>
>>>>> def download():
>>>>> """
>>>>> allows downloading of uploaded files
>>>>> http://..../[app]/default/**download/[filename]
>>>>> """
>>>>> return response.download(request,db)
>>>>>
>>>>> So, your URL should be URL('default', 'download', args=row.image).
>>>>>
>>>>> This is discussed
>>>>> here<http://web2py.com/books/default/chapter/29/03#An-image-blog>,
>>>>> here<http://web2py.com/books/default/chapter/29/07#SQLFORM-and-uploads>,
>>>>> here <http://web2py.com/books/default/chapter/29/04#response>, and
>>>>> here<http://www.web2py.com/examples/default/examples#database_examples>(example
>>>>> 33).
>>>>>
>>>>> Anthony
>>>>>
>>>>> On Wednesday, December 5, 2012 9:06:57 AM UTC-5, Daniele wrote:
>>>>>>
>>>>>> Guys I know this sounds simple but I'm having a hard time displaying
>>>>>> uploaded images. I have an upload field in my model where logged in
>>>>>> users
>>>>>> can upload an image. But in my views when I try to do
>>>>>> {{=IMG(_src=URL('uploads/', row.image))}} where row is a variable that
>>>>>> refers to db(db.auth_user.id > 0).select() nothing is being
>>>>>> returned. However, row.image returns a string which is the name of the
>>>>>> file.
>>>>>> How can I display the image correctly?
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>> --
>>>
>>>
>>>
>>>
>>
>>
>
--