Mam problem z uplodem plików na serwer, w tym momencie jest to na
windzie, tomcat 5.5.9, jdk 1.5.0_04 z wykorzystaniem commons-fileupload
ver 1.1.1
//--------------------------------------------------------------------------------------
Kod html:
<FORM encypte="multipart/form-data" method="POST" action="addFile.jsp">
<INPUT TYPE="file" NAME="fileObject"><br>
<INPUT type="submit" value="Wyślij">
</FORM>
//--------------------------------------------------------------------------------------
Kod java:
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(1000000);
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(1000000);
// Parse the request
try {
List items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
System.out.println("item.getFieldName():[" + item.getFieldName() + "]");
System.out.println("item.getString():[" + item.getString() + "]");
} else {
System.out.println("item.getFieldName():[" + item.getFieldName() + "]");
System.out.println("item.getName():[" + item.getName() + "]");
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
//--------------------------------------------------------------------------------------
Komunikat błędów:
java.lang.NoSuchMethodError:
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List;
at
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
at org.apache.jsp.addFile_jsp._jspService(org.apache.jsp.addFile_jsp:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Proszę, podajcie jakieś rozwiązanie, lub kierunek w jakim mam iść
(szukać) ...
Problem tkwi w bibliotekach ;-)
Na pewno masz ponizsza ?
http://jakarta.apache.org/commons/fileupload/
Pozdrawiam
mj
może występuje jakiś problem w konfiguracji tomcata (default nie zezwala
na upload plików) - ale w to raczej wątpię ...
pozdrawiam
am
ale skoro już pisze tutaj .... zobacz czy na pewno masz dostęp do tej klasy
i metody ?
a może w common/lib siedzi duplikat tej biblioteki i przysłania dobrą
wersje? to nie jest zwykły wyjątek.
--
Może inaczej - niech któryś z grupowiczów przyśle mi na
adam.mi...@mcg.com.pl sprawdzoną bibliotekę - jeżeli zrobię upload
to będę wiedział że to problem z jar'em .
pozdrawiam
am
dziwna sprawa.
--
pozdrawiam
am
ServletFileUpload.isMultipartContent(request)) zwraca false, czyli nie ma
prawa zadziałać ;/
ale form jest niby OK.
<FORM encypte="multipart/form-data" method="POST" action="upload.jsp">
<INPUT TYPE="file" NAME="fileObject"><br>
<INPUT type="submit" value="Wyslij">
</FORM>
--
OK tylko czemu ? linijka niżej w logach masz błąd w tej samej bibliotece
i w tej samej funkcji co wysłałem, przynajmniej u mnie tak wyszło - co
to może być ...
org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException:
the request doesn't contain a multipart/form-data or multipart/mixed
stream, content type header is application/x-www-form-urlencoded
at
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:294)
at
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
http://www.velocityreviews.com/forums/t369288-help-with-jakarta-file-upload-and-apache-tomcat.html
a to troche inny wyjatek ;)
--
encypte?
enctype :)
Dodajesz commons-io i hula!
Pozdrawiam
zarafiq
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
fakt ;/
--
literówka jak cholera ...
pozdrawiam
Adam Mirkiewicz