@ Massimo, Thanks I was still using cherryPy webServer... But I'll try to install Apache on my environment and give it a try... When I look at your suggestion you king of assume that all the picture will be in the same directory "Uploads"... Each user will have his own Sub-directory of pictures under "Uploads". Does it matter anything in the configuration you game me ? Thanks
@ Thadeus Thanks for the hint.. I don't expect to allow an image more than 4MB... I was also thinking about caching them on the client side... Not sure sure if it is a good idea... Do you have any idea how Application like Facebook cache pictures ? Thanks, Yannick P. On May 5, 11:56 am, Thadeus Burgess <[email protected]> wrote: > If your images are fairly large they are going to be slow no matter what. > > You probably need two versions, a mini thumbnail version, and then the > original. On your main page just display the thumbnails, they will > load quite fast, but you can link them to the original. > > -- > Thadeus > > > > On Tue, May 4, 2010 at 10:21 PM, mdipierro <[email protected]> wrote: > > With apache you can do > > > AliasMatch ^/appname/default/customDownload/(.*) > > \ > > /home/www-data/web2py/applications/appname/uploads/ > > $1 > > <Directory /home/www-data/web2py/applications/appname/uploads/ > > > Order > > Allow,Deny > > Allow from > > all > > </Directory> > > > On May 4, 10:17 pm, Yannick <[email protected]> wrote: > >> Hehe Thanks for the note... > > >> Thanks for the clarification... The Html loading is not slow it's fine > >> BUT loading the pictures are still kind of slow even when I only > >> stream them... here is a code I have in my custom download method: > >> def customDownload(): > > >> response.stream(open(os.path.join(request.folder,folderName,request.args(0) > >> ) ,'rb')) > > >> Is there any others techniques available in Web2py that can help me > >> speed the Pictures loading process ? > > >> Any ideas please let me know. > > >> Thanks... > > >> On May 4, 9:29 pm, mdipierro <[email protected]> wrote: > > >> > show -> slow. > > >> > Note to self: do not type in the dark. > > >> > On May 4, 8:16 pm, Massimo Di Pierro <[email protected]> wrote: > > >> > > You need to understand why it is show. It is show to load the age or > >> > > to load the pictures (because there are lots of the m in the page)? > >> > > caching the select only affect the time to download the html page but > >> > > does not affect the pictures since you are caching the list of > >> > > function names not not the actual pictures. > > >> > > I suspect that the problem is that the system is doing database access > >> > > for each picture (that is what download() does), in order to check > >> > > whether the user is allowed to view the picture. If you do not need to > >> > > validate each picture, you can write your own download function that > >> > > does not perform validation and only does streaming or (better) you > >> > > can ask web2py to bypass web2py and serve images directly. > > >> > > On May 4, 2010, at 6:36 PM, Yannick wrote: > > >> > > > Hello mate, > > >> > > > I used a lot of pictures in my application. Currently what I'm doing > >> > > > is I cache the DAL Select like this: > >> > > > "db(....).select(db.photo.fileupload, db.photo.id, cache=(cache.ram, > >> > > > 3600))" > > >> > > > And when the users upload new pictures, in the "onaccept" function I > >> > > > clear the cache like this: > >> > > > - cache.ram.clear() > >> > > > So that the cache will be refreshed when the user load back the > >> > > > pictures again. > > >> > > > - First, I want to know if it is a good approach ? > >> > > > - Second, it is a better way to improve this design to make my system > >> > > > faster ? (Because it is still a bit slow) > >> > > > - Third, when I do this "cache.ram.clear" it actually clear the cache > >> > > > for all users sessions, how can I only clear the cache of a single > >> > > > user session NOT all of them ??? > > >> > > > Please let me know. > > >> > > > Cheers, > >> > > > Yannick P.

