Thanks Eddie, it work fine now!
--------------------------------------------------------------------------- Henry Lu MCIT phone: (734) 936-2063 University of Michigan Medical Center fax: (734) 763-4372 On Fri, 22 Feb 2002, Eddie Bush wrote: > I uploaded graphics just fine just now. My code is slightly different than > yours. I simply call the getFileData() method of FormFile to return the > data, and write it all out at once. Then flush the buffer and close the > file. > > Try something along the lines of: > > FormFile ff = ... get the FormFile field > > FileOutputStream fos = new FileOutputStream("/some/path/" + > ff.getFileName()); > > fos.write(ff.getFileData()); > fos.flush(); > fos.close(); > > If you still have problems let us know. I have to warn you, however, that > people don't seem to care about file uploads. I asked for help and never > got it. Of course my mistakes were because I was new, and a small amount of > experimentation got me where I needed to go, but it's still annoying to be > totally ignored. > > Hope that helps! Let us know if it does not. > > Eddie > > ----- Original Message ----- > From: "Serge A. Redchuk" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, February 22, 2002 2:17 AM > Subject: PLEASE, HELP !!! upload problem > > > > Hello All ! > > > > I use the Struts v.1.0.2 > > > > Unfortunatelly I can't realize file uploading. > > > > And the most confusing that I have 2 different errors on different > > files with the same code. > > > > Here's my form: > > > > <html:form action="/addImage.do" enctype="multipart/form-data" > > > <html:hidden property="pkPartner" /> > > <html:file property="imgFile" /> > > <br> > > <html:submit property="submit" value="Save" /> > > <html:reset/> > > </html:form> > > > > Here's form bean: > > ... > > public final class ImagesPartnerForm extends ActionForm { > > private String pkPartner = null; > > private FormFile imgFile = null; > > ... > > public FormFile getImgFile(){ > > return this.imgFile; > > } > > public void setImgFile( FormFile imgFile ){ > > this.imgFile = imgFile; > > } > > public void reset( ActionMapping mapping, HttpServletRequest request ){ > > pkPartner = (String)request.getAttribute( "pkPartner" ); > > imgFile = null; > > } > > ... > > > > Here's action that handles form data: > > public final class AddImage extends ActionExt { > > public ActionForward perform( ActionMapping mapping, ActionForm form, > > HttpServletRequest request, HttpServletResponse response, String > userName ) > > throws IOException, ServletException > > { > > String subpath = "/partner"; > > String targetDir = ResourceHandler.getProperty( "global", > > "pictures.dyn.abs-root" ) + subpath; > > String dbPath = ResourceHandler.getProperty( "global", > > "pictures.dyn.rel-root" ) + subpath; > > ImagesPartnerForm iform = (ImagesPartnerForm)form; > > FormFile ff = iform.getImgFile(); > > // > > String name = ff.getFileName(); > > String targetFile = targetDir + "/" + name; > > String dbFile = dbPath + "/" + name; > > // Save file to filesystem > > java.io.DataInputStream dis = new java.io.DataInputStream( > > ff.getInputStream() ); > > java.io.DataOutputStream dos = new java.io.DataOutputStream( > > new java.io.FileOutputStream( targetFile ) ); > > for( int i = 0; i < ff.getFileSize(); i++ ){ > > dos.writeByte( dis.readByte() ); > > } > > dos.flush(); > > dos.close(); > > dis.close(); > > > > return new ActionForward( "/jsp/partner/test.jsp" ); > > } > > } > > > > ERRORS: > > 0) short text file was uploaded without any corruption, but: > > > > 1) One jpeg file was uploaded, but had less size then source. > > > > 2) Other jpeg file uploading caused an exception: > > > > javax.servlet.ServletException: IOException while reading file element: > Premature end of stream while reading multipart request > > at > org.apache.struts.upload.MultipartIterator.getNextElement(MultipartIterator. > java:222) > > at > org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(DiskMulti > partRequestHandler.java:76) > > at > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:735) > > at > org.apache.struts.action.ActionServlet.processPopulate(ActionServlet.java:20 > 61) > > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564) > > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>