Stefan,
I just got your book on JSP, looks to be the best one on the market
BTW.
Ah, you're just saying that to get an answer ;-) Thanks anyway :-)
I have just skimmed through it and thought I saw something in
there where you talk about file upload? Is that the case or am I
missing something.
The only thing I say about file upload in the book is pretty much what
I said here; I refer to Jason's article about filters. The reason is
that, like Martin said, file upload really has nothing to do with JSP.
It's better done using a filter or a servlet.
Hans
----- Original Message -----
From: "Hans Bergsten" <[EMAIL PROTECTED]>
To: "Tag Libraries Users List" <[EMAIL PROTECTED]>
Sent: Wednesday, November 06, 2002 11:30 PM
Subject: Re: Tag for uploading
Martin Cooper wrote:
[...]
The Struts <html:file> tag generates an HTML <input type="file">
element,
and doesn't actually handle the request. If the latter is what you are
looking for, I'm not sure how feasible that really is in a JSP page.
The issue is that parsing a multipart request consumes the input stream,
so
you can only do that once. Some containers (e.g. Resin) have built-in
multipart handling, and if that's enabled, it should provide all you
need.
But your pages will have to "know" that the container did that, and have
to
"know" how to access the uploaded files. That's not portable.
If your container doesn't support multipart handling, or you've disabled
it,
then you might be able to wrap a tag around a package such as Commons
FileUpload:
http://jakarta.apache.org/commons/fileupload/
The main issue with this is how you would access non-file parameter
values
in the rest of the JSP page. Calls to request.getParameter() (either
direct
or indirect, using tags) after parsing the multipart request will not
work,
since FileUpload will have "stolen" the parameters. You'd have to obtain
the
values directly from the FileUpload instance, since there is no way to
tell
the container about the parameters (short of creating your own JSP page
base
class and wrapping the request, but that's getting even more far
fetched!
:).
In short - use a servlet! :-)
An alternative that solves some of the issues Martin describes is to
use a filter, like the file upload filter described in this article
by Jason Hunter:
<http://www.javaworld.com/javaworld/jw-06-2001/jw-0622-filters-p4.html>
Hans
--
Hans Bergsten [EMAIL PROTECTED]
Gefion Software http://www.gefionsoftware.com
JavaServer Pages http://TheJSPBook.com
--
To unsubscribe, e-mail:
<mailto:taglibs-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail:
<mailto:taglibs-user-help@;jakarta.apache.org>
--
To unsubscribe, e-mail: <mailto:taglibs-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:taglibs-user-help@;jakarta.apache.org>
--
Hans Bergsten [EMAIL PROTECTED]
Gefion Software http://www.gefionsoftware.com
JavaServer Pages http://TheJSPBook.com
--
To unsubscribe, e-mail: <mailto:taglibs-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:taglibs-user-help@;jakarta.apache.org>