I didn't look at your logic very closely but I did spot one problem... maxFileSize = 10*(1024*2); //10 megs max
That isn't 10mb. It should be 10*(1024*1024) On Dec 28, 4:13 pm, darkling <[email protected]> wrote: > I've read several posts about this but everyon seems to be using > different code and different methods. I've tried several but none seem > to work. I must be missing some fundamental component. > > I try to upload a file but even though the request arrives on server > side theres no file. The request is only 48 bytes and I can't figure > out why. If anyone can tell me what I'm doing wrong I'd greatly > appreciate it. > > Client side: > FormPanel form = new FormPanel(); > form.setEncoding(FormPanel.ENCODING_MULTIPART); > form.setMethod(FormPanel.METHOD_POST); > form.setAction("/adt/fileUpload"); > > form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler > () { > public void onSubmitComplete(SubmitCompleteEvent event) { > // When the form submission is successfully completed, this > event is > // fired. Assuming the service returned a response of type > text/html, > // we can get the result text here (see the FormPanel > documentation for > // further explanation). > errors.setHTML(event.getResults()); > }}); > > file = new FileUpload(); > file.setStylePrimaryName("FileUpload"); > form.add(file); > this.add(form); > > Server Side: > > public void doPost(HttpServletRequest request, HttpServletResponse > response) throws ServletException, IOException { > ServletFileUpload upload = new ServletFileUpload(); > System.out.println("Here"); > Enumeration<String>enumer = request.getParameterNames(); > while(enumer.hasMoreElements()) > { > String name = enumer.nextElement(); > System.out.println(name + " " + request.getParameterValues > (name)); > } > try{ > FileItemIterator iter = upload.getItemIterator(request); > System.out.println("Size " + iter.hasNext()); > while (iter.hasNext()) { > FileItemStream item = iter.next(); > > String name = item.getFieldName(); > InputStream stream = item.openStream(); > > // Process the input stream > ByteArrayOutputStream out = new ByteArrayOutputStream > (); > int len; > byte[] buffer = new byte[8192]; > while ((len = stream.read(buffer, 0, buffer.length)) ! > = -1) { > out.write(buffer, 0, len); > } > > int maxFileSize = 10*(1024*2); //10 megs max > if (out.size() > maxFileSize) { > System.out.println("File is > than " + > maxFileSize); > return; > } > > File f = new File(item.getName()); > if(f.exists()) > f.delete(); > > FileOutputStream fos = new FileOutputStream(f); > byte[] bytes = out.toByteArray(); > fos.write(bytes); > > StandardGridImport sgi = new StandardGridImport(); > sgi.init(f.getPath()); > List<GridBean> beans = sgi.parseGrid(); > List<CellFormatError> errors = sgi.getErrors(); > PrintWriter pw = response.getWriter(); > for(int x = 0; x < errors.size(); x++) > pw.write(errors.get(x).toString()); > pw.flush(); > pw.close(); > System.out.println("Done"); > } > } > catch(Exception e){ > e.printStackTrace(); > } > > } -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
