Hello All,
I am developing a web application using the
Struts framework. I have a page where I am using html 'file' controls to attach/ upload files.
1) Upload part:
---------------
I receive these attached files in the Struts action/ task and use struts upload's FormFile class and it's getInputStream() to read the file contents.
2) Storage:
-----------
I use
JBOSS as my application server. In my case, the uploaded files are written/stored in a directory (/usr/loca/data in Linux) outside the app server's context. As a part of this process, I store the name of the file in the DB so that I can refer it later.
3) Retrieval:
-------------
When these files, for example, .jpg's are requested as a part of a picture gallery I refer the DB and get all the image names associated with the gallery.
(3b) I then move the respective image files from the directory (step 2) to the app server's context.
My question is 3 and 3b a scalable approach. My application will have more and more files (images, pdf's et...) attached in the future. I think the process of moving files as I do in step 3 will be a major efficiency problem in terms of space and size (the .war file i generate after having the files moved inside is HUUUGE).
I am sure I am missing something when it comes to file upload, storage and retrieval. I do not understand the concept of how/ where these files are stored in the first place.
Please let me know if you have any ideas on how it can be implemented/ improved.
Thank you,
Karthik.