The moose likes I/O and Streams and the fly likes file upload works on windows, doesn't on unix Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


JavaRanch » Java Forums » Java » I/O and Streams
Reply Bookmark "file upload works on windows, doesn Watch "file upload works on windows, doesn New topic
Author

file upload works on windows, doesn't on unix

eddy johns
Ranch Hand

Joined: Feb 16, 2010
Posts: 67
Hi everyone,

I have a standard file upload code that works with no issues on windows (both xp and 7) running on tomcat and called from a jsp page. But it throws an IndexOutOfBoundsException when running on a unix machine. I'm copying the code below. Any idea? Just to get one possible issue out of the way, the path is correct and the image file is written to the directory it should be written to, but with 0 bytes.

Thanks! I'll really appreciate any help with this.

The stack trace:
java.lang.IndexOutOfBoundsException
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:260)
at FileUpload.uploadFile(FileUpload.java:70)
at org.apache.jsp.il_005fIL.upload_jsp._jspService(upload_jsp.java:75)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.village.common.action.SearchFilter.doFilter(SearchFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.opensymphony.oscache.web.filter.CacheFilter.doFilter(CacheFilter.java:175)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:482)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)



The code:

This message was edited 1 time. Last update was at by eddy johns

Rob Spoor
Saloon Keeper

Joined: Oct 27, 2005
Posts: 17259

Please UseCodeTags. You can use the edit button to change your post and add them. Also, please TellTheDetails. What's the exact stack trace?


SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
choong wing cheong
Greenhorn

Joined: Mar 21, 2010
Posts: 2
Hi,

Do you have the solution? I also facing the same problem as you, which is running in window but not in linux. Looking for your feedback. Thanks
Lorand Komaromi
Ranch Hand

Joined: Oct 08, 2009
Posts: 276
Don't hardcode the path separators, use File.separator instead of \\!


OCJP 6 (93%)
eddy johns
Ranch Hand

Joined: Feb 16, 2010
Posts: 67
Here's the code from my jsp page. Note that I don't have a gui and this is just the server side, but your form should connect with this with no problem. The full code is on the web somewhere but I can't find it this morning. Also, you will need to add the commons fileupload jar to your build path. You can find the latest here: http://commons.apache.org/fileupload/download_fileupload.cgi. Good luck!

choong wing cheong
Greenhorn

Joined: Mar 21, 2010
Posts: 2
Hi eddy,

Thanks for your code. It is worked.
 
 
subject: file upload works on windows, doesn't on unix
 
MyEclipse, The Clear Choice

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture