Oh I see, something like that , i do not think taht this will work String imagePath = path+"../imagedir"; but you will have to either convert path to instance of directory object, or chop of the end by some string functions , using String imagePath = path+"../imagedir"; as path works for browser but I am not shure about filesystem
regards On 8/7/06, Romain Quilici <[EMAIL PROTECTED]> wrote:
I agree with you, but getContext().getRealPath("/"), will return the path to my webapp root, so it means I am going to create my image dir under my webapp, which is fine unless my application is deployed in a war file. In such case I won't be able to write in my webapp. Maybe using String path = getContext().getRealPath("/"); then String imagePath = path+"../imagedir"; would work so I am writting in a separate directory outside my webapp. In case I use war file, this solution might still works Regards Almir Kazazic wrote: > Hi, > > to avoid using absolut paths you can find that out on runtime by > > getContext().getRealPath("/") - will return your path to the root > > regards > > > On 8/7/06, Romain Quilici <[EMAIL PROTECTED]> wrote: >> Hi, >> Hope I will be clear enough: >> >> One part of my web application receives encodes stream that it has to >> convert to jpg images. When an image is written on the server, it >> notifies a Servlet which pushes the name (or the url) of the newly >> generated image inside client browser(thanks to pushlets technology). >> The Servlet can only push a String (Pushlets requirements). >> >> So my problem is where can I write the images, so they can be accessible >> by a URL. One easy solution, the one I use for testing, is to hardcode >> in my webapp the directory where the images are written. >> For instance TOMCAT_HOME\webapps\frames\, >> and in my jsp to have <img src="http://myserver/frames/name.jpg> where >> name.jpg is pushed by the servlet when this image is generated. >> >> However, this solution is not satisfactory, indeed, if I deploy my >> application in another place, I don't want people to edit my code to >> change for suitable values. I admit I could use properties or a >> configuration file to set these value(even if I am not sure it would >> work in all configuration), anyway I would like to check if using the >> servletcontext, or other solutions might be more appropriate. >> As I said a solution with the temp directory would be perfect, if this >> directory was accessible with a URL >> >> Hope it is clear >> Regards >> Li wrote: >> > Hi, >> > >> > It is not advisable to make your webapp dir writable, can you tell me >> > what exactly would you like to achieve so that I may get more info to >> > help out ... >> > >> > >> > >> > On 8/7/06, Romain Quilici <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> thanks for the advice, >> >> But I want to avoid harcoded links such as >> $APACHE_HOME\httpdocs\images >> >> or <a href="http://yourdomain/images/1.jpg"> in my jsp. >> >> >> >> Indeed I don't want to modify these values if I decide Tomcat to >> run on >> >> another port, or to install Tomcat in another directory or even >> OS. That >> >> is why I am looking for an approach using >> >> the webapp context, so I don't have to worry about the OS, or the >> port, >> >> or whatever configuration. >> >> Anyway thanks for your help >> >> Regards >> >> Romain >> >> >> >> Li wrote: >> >> > Hi, >> >> > >> >> > Here are few steps of achieving it (just tested, and it works): >> >> > 1. use FileOutputStream or any output streaming object to write a >> >> > image file >> >> > into the directory >> >> > in Windows, the path string should look like: >> >> > "c:\apache_home\httpdocs\images\1.jpg" >> >> > in unix/linux, the path should look like >> >> > $APACHE_HOME\httpdocs\images\1.jpg" >> >> > (assume, you had defined APACHE_HOME, make sure the images folder >> >> > is read/write >> >> > only for the user/group that runs tomcat >> >> > 2. Make sure apache is on ... >> >> > 3. in your jsp: use >> >> > e.g. <a href="http://yourdomain/images/1.jpg">click to view</a> >> >> > >> >> > >> >> > Wish it helps >> >> > >> >> > On 8/7/06, Romain Quilici <[EMAIL PROTECTED]> wrote: >> >> >> Thanks for the answer, >> >> >> this solution was part of my investigation, and was actually the >> >> first >> >> >> idea I had. >> >> >> The problem with this approach is I don't know how to access the >> >> >> /image_dir/ from within my web application. >> >> >> Maybe using something like >> >> >> String path = servletContext.getRealPath("/"); >> >> >> String imagePath = path+"../image_dir/" >> >> >> and use the imagePath to create my images, then in my jsp >> >> something like >> >> >> <request.getContextPath()/../image_dir/image1.jpg> >> >> >> >> >> >> But I am not sure this approach works in all configurations, >> >> >> particularly if my webapp is deployed inside a war. >> >> >> >> >> >> Thanks >> >> >> Romain >> >> >> >> >> >> Li wrote: >> >> >> > if you have apache server, you can write file to its home >> dir, and >> >> >> > then use >> >> >> > http://<youdomain>/<image_dir>/image_name.suffix to view. >> >> >> > >> >> >> > On 8/7/06, Romain Quilici <[EMAIL PROTECTED]> wrote: >> >> >> >> Hi all, >> >> >> >> I have been reading several messages about writing files inside >> >> a web >> >> >> >> application, but I found no answer regarding my problem. >> >> >> >> >> >> >> >> I need to write files on the file system that can be accessible >> >> >> with a >> >> >> >> browser(I write images). >> >> >> >> >> >> >> >> - The most reliable solution I found was to use the webapp's >> tmp >> >> >> >> directory, unfortunately this directory is not accessible with >> >> a URL. >> >> >> >> >> >> >> >> - Another solution would be to write these images under my >> webapp >> >> >> >> root(or in another place under my webapp). But it seems that >> this >> >> >> >> approach does not work with webapps deployed in a war file. >> >> >> >> Indeed you cannot write inside wars like this. >> >> >> >> >> >> >> >> I don't want to rely on some hardcoded solutions. There is >> >> still the >> >> >> >> possibility to pass the absolute path to the directory >> (let's say >> >> >> >> TOMCAT_HOME/webapps/myimages/) and later, use inside my JSP >> >> >> >> <request.getContextPath()/../myimages/image1.jpg>, but I think >> >> this >> >> >> >> solution won't work in many configurations >> >> >> >> >> >> >> >> Thanks a lot for your help >> >> >> >> Regards >> >> >> >> Romain >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> >> To start a new topic, e-mail: users@tomcat.apache.org >> >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> To start a new topic, e-mail: users@tomcat.apache.org >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> > >> >> > >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To start a new topic, e-mail: users@tomcat.apache.org >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> > >> >> >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: users@tomcat.apache.org >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]