tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Quilici <r.quil...@chem.usyd.edu.au>
Subject Re: Writing files accessible from a browser
Date Mon, 07 Aug 2006 07:55:24 GMT
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 <r.quilici@chem.usyd.edu.au> 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 <r.quilici@chem.usyd.edu.au> 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 <r.quilici@chem.usyd.edu.au> 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 <r.quilici@chem.usyd.edu.au>
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: users-unsubscribe@tomcat.apache.org
>> >> >> >> For additional commands, e-mail: users-help@tomcat.apache.org
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> 
>> ---------------------------------------------------------------------
>> >> >> To start a new topic, e-mail: users@tomcat.apache.org
>> >> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> >> >> For additional commands, e-mail: users-help@tomcat.apache.org
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To start a new topic, e-mail: users@tomcat.apache.org
>> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> >> For additional commands, e-mail: users-help@tomcat.apache.org
>> >>
>> >>
>> >
>> >
>>
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>
>



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message