tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Almir Kazazic" <kaza...@gmail.com>
Subject Re: Writing files accessible from a browser
Date Mon, 07 Aug 2006 08:20:28 GMT
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 <r.quilici@chem.usyd.edu.au> 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 <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
>
>

---------------------------------------------------------------------
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