You could store images in a database, but that's likely to be the least scalable solution. I'd recommend storing them on the filesystem, hopefully one that's backed up as it will become a critical part of your application.
On Mon, Aug 9, 2010 at 6:37 PM, Amit Goyal <goya...@gmail.com> wrote: > Hi, > > I am using Appfuse for my application. Its a great starting point and > thanks to all the developers. In my application, I want to add "profile > picture" functionality. I looked over internet and I am kind of confused > what is the best way to do it. It would be great if someone can help me > here. > > Here is what I found. There are two ways to store and serve images: > > 1. Store images in a database. Lot of links suggest that it is not the best > way especially if the images are large (and many), which I think is a valid > point. JFYI, I am using MySQL. > > 2. Store images in filesystem. Looks like this solution is not a clean > solution and it might be difficult to migrate the application (in future if > needed). And it is slower than the database operation. But it is still good. > > My first question is: which is better and scalable? Is there a good > article/discussion about it? > > My second question is related to serving the image to jsp: even after > looking at so many forums, its still not clear to me how to store and serve > images in the appfuse settings (in any of the two options). Imagine an > action servlet (lets call it UserAction) which serves some attributes (like > user name, age, gender etc). To serve the image to jsp, can I just add new > private variable like > > private byte[] image; > > and build the image when the servlet is called OR do I need another > servlet? > > Finally, for now I am assuming that code to store images would be similar > to one in FileUploadAction.java (if it is stored in filesystem). Am I right? > > Thanks a lot, > Amit > > >