At 12:23 -0600 7/29/03, Davide Bruzzone spoke thusly:

Note that getRealPath("/WEB-INF/...") is allowed to fail (under the spec).
I know for a fact that in several containers, if your deploy as a WAR file,
it will indeed fail.

Here are two alternatives that will always work to access files in /WEB-INF:

1)
        String path = "/WEB-INF/myfile.ext";
        InputStream istream = servletContext.getResourceAsStream(path);

2)
        String path = "/WEB-INF/myfile.ext";
        URL url = servletContext.getResource(path);
        URLConnection uconn = url.openConnection();
        InputStream istream = uconn.getInputStream();

What remains to solve your problem is to refactor your code to accept an InputStream rather than a File. It appears that File is used to length()
can be called on it so the byte array can be properly allocated.
If the resource is truly a file, it appears the istream.available() will
do that job for you (although I have not tested this).



Thank you...

I'll give it a try...

Cheers...

Dave

-----Original Message-----
From: Jarnot Voytek Contr AU HQ/SC [mailto:[EMAIL PROTECTED]

Sent: Tuesday, July 29, 2003 12:02 PM
To: 'Struts Users Mailing List'
Subject: RE: Opening/reading a file from a Struts application...


-----Original Message----- From: Jarnot Voytek Contr AU HQ/SC Sent: Friday, June 27, 2003 11:53 AM To: 'Struts Users Mailing List' Subject: RE: getting a file path to /WEB-INF from a HttpSession


try


request.getSession(false).getServletContext().getRealPath("/WEB-INF/..."
))

or, in an action you could do

getServlet().getServletContext().getRealPath("/WEB-INF/...");

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
Dolf Starreveld                         190 Thompson Square
http://www.starreveld.com               Mountain View, CA 94043
Home: (650) 966-1404                    Mobile: (415) 613-7229
FAX:  (650) 967-2863

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to