I'm not using blobstore, probably, I don't even know what it is :) From earlier code you can see that I'm just reading the input to output at the server side. So there is no storing of the files, just reading back to client.
On Wed, Jul 14, 2010 at 9:23 AM, Manuel Carrasco Moñino <man...@apache.org>wrote: > If you are using appengine things are different because there are many > constrains. Are you using blobstore? > > On Tue, Jul 13, 2010 at 3:00 PM, Mika Tikkanen > <mika.r.tikka...@gmail.com> wrote: > > So how do I change that value for google appengine? Or for my development > > environment in eclipse? > > > > On Tue, Jul 13, 2010 at 12:03 PM, Manuel Carrasco Moñino < > man...@apache.org> > > wrote: > >> > >> It seems an issue with the maximum configured limit for post requests > >> at your server side. > >> > >> -Manolo > >> > >> On Tue, Jul 13, 2010 at 10:43 AM, Mika Tikkanen > >> <mika.r.tikka...@gmail.com> wrote: > >> > On Mon, Jul 12, 2010 at 7:26 PM, Jeff Chimene <jchim...@gmail.com> > >> > wrote: > >> >> > >> >> On 07/11/2010 11:17 AM, Roope wrote: > >> >> > Hi > >> >> > > >> >> > I'm currently developing some bioinformatics tools and I want to > make > >> >> > them as web apps. > >> >> > > >> >> > The thing is that user needs to input files that might be up to 4Gb > >> >> > but usually the biggest is just about 250Mb. > >> >> > > >> >> > There are two main use-cases: > >> >> > 1. Steaming the file and taking just some small parts of it to > string > >> >> > 2. Reading the whole file and making object from each line in file > >> >> > > >> >> > I would like to do all the file processing in client side, but I > >> >> > understood that it is not yet possible using gwt? > >> >> > >> >> In general the answer is yes, but not because of GWT. Until > wide-spread > >> >> browser support of HTML 5 which will provide better local file > >> >> handling. > >> > > >> > > >> > So GWT wont support it yet and there might be some browsers that do > >> > support > >> > it. So I could use those browser that do support it and use > >> > some JavaScript code? > >> > > >> >> > >> >> > If I keep the server local it is feasible to upload some 250mb > files > >> >> > and process them at the server side, but I have no success so far > in > >> >> > this, even with 10mb file. > >> >> > >> >> You might provide some background on the "... no success so far..." > >> >> path. > >> > > >> > I managed to upload some over 1MB files but the over 10MB didn't > upload. > >> > Here is the server side code, copied most of it and the rest of the > code > >> > I > >> > show from some example how to do this or from forums. > >> > import org.apache.commons.fileupload.FileItemIterator; > >> > import org.apache.commons.fileupload.servlet.ServletFileUpload; > >> > import java.io.BufferedInputStream; > >> > import java.io.IOException; > >> > import java.io.InputStream; > >> > import java.io.OutputStream; > >> > import javax.servlet.ServletException; > >> > import javax.servlet.http.HttpServlet; > >> > import javax.servlet.http.HttpServletRequest; > >> > import javax.servlet.http.HttpServletResponse; > >> > public class FileUpload extends HttpServlet { > >> > public void doPost(HttpServletRequest req, HttpServletResponse res) > >> > throws ServletException, IOException { > >> > try { > >> > ServletFileUpload upload = new ServletFileUpload(); > >> > res.setContentType("text/plain"); > >> > FileItemIterator iterator = upload.getItemIterator(req); > >> > while (iterator.hasNext()) { > >> > copy(iterator.next().openStream(), res.getOutputStream()); > >> > } > >> > } catch (Exception ex) { > >> > throw new ServletException(ex); > >> > } > >> > } > >> > public static void copy(InputStream is, OutputStream os) throws > >> > IOException > >> > { > >> > byte buffer[] = new byte[8192]; > >> > int bytesRead; > >> > BufferedInputStream bis = new BufferedInputStream(is); > >> > while ((bytesRead = bis.read(buffer)) != -1) { > >> > os.write(buffer, 0, bytesRead); > >> > } > >> > is.close(); > >> > os.flush(); > >> > os.close(); > >> > } > >> > } > >> > Here is the the part from web.xml needed(replace * with your own > stuff) > >> > <servlet> > >> > <servlet-name>fileUploaderServler</servlet-name> > >> > <servlet-class>com.*.*.server.FileUpload</servlet-class> > >> > </servlet> > >> > <servlet-mapping> > >> > <servlet-name>fileUploaderServler</servlet-name> > >> > <url-pattern>/*/fileupload</url-pattern> > >> > </servlet-mapping> > >> > ...and here is the code for the form that uses the fileupload > >> > private static FormPanel getForm(final DialogBox dialogBox,final > >> > TextArea > >> > ta) { > >> > final FormPanel form = new FormPanel(); > >> > form.setAction(GWT.getModuleBaseURL() + "fileupload"); > >> > // Because we're going to add a FileUpload widget, we'll need to set > the > >> > // form to use the POST method, and multipart MIME encoding. > >> > form.setEncoding(FormPanel.ENCODING_MULTIPART); > >> > form.setMethod(FormPanel.METHOD_POST); > >> > // Create a panel to hold all of the form widgets. > >> > final VerticalPanel panel = new VerticalPanel(); > >> > form.setWidget(panel); > >> > // Create a FileUpload widget. > >> > final FileUpload upload = new FileUpload(); > >> > upload.setName("uploadFormElement"); > >> > panel.add(upload); > >> > HorizontalPanel horizontal = new HorizontalPanel(); > >> > // Add a 'submit' button. > >> > horizontal.add(new Button("Submit", new ClickHandler() { > >> > public void onClick(ClickEvent event) { > >> > form.submit(); > >> > } > >> > })); > >> > // Add a 'cancel' button. > >> > horizontal.add(new Button("Cancel", new ClickHandler() { > >> > public void onClick(ClickEvent event) { > >> > dialogBox.hide(); > >> > } > >> > })); > >> > panel.add(horizontal); > >> > // Lets add handlers > >> > form.addSubmitHandler(new SubmitHandler() { > >> > @Override > >> > public void onSubmit(SubmitEvent event) { > >> > if (upload.getFilename().length() == 0) { > >> > Window.alert("Must select a valid file"); > >> > event.cancel(); > >> > } > >> > } > >> > }); > >> > form.addSubmitCompleteHandler(new SubmitCompleteHandler() { > >> > public void onSubmitComplete(SubmitCompleteEvent event) { > >> > ta.setText(event.getResults()); > >> > dialogBox.hide(); > >> > } > >> > }); > >> > return form; > >> > } > >> > > >> >> > >> >> For files of this size, I'd consider creating a file share on the > >> >> server > >> >> or using FTP. I'm guessing the data collection occurs on the PC? If > so, > >> >> you won't be able to process the files locally until HTML 5 and local > >> >> file support. Depending on your environment, you might be able to > >> >> remote-mount a disk device and write directly to that device from the > >> >> data collection source. > >> >> > >> >> > So what would you suggest me to do? Besides dumping the web > >> >> > application idea and making some java applet. > >> >> > >> >> You want to move the data to the server, construct a server app that > >> >> retrieves data slices on demand and sends them to the client for > >> >> rendering. You can certainly do the Java app on the server to > >> >> retrieve/preprocess the data, then render it on the client using > >> >> various > >> >> graphing packages. Search this list for pointers to SVG, or graphing > >> >> libraries. > >> > > >> > I will probably make java applet that can do the parsing of the file > for > >> > the > >> > user and the the result, the smaller files, will be uploaded to server > >> > and > >> > then the string or required objects from that file are returned. This > >> > way it > >> > is done at the "cleint side" but without including the web application > >> > in > >> > the process. After GWT and the browsers update to support reading file > >> > at > >> > client side I will dump the java tool. > >> > Is there way to check how big the file is that the user is trying to > >> > send? > >> > Besides at the server side.. > >> > Thank you for the help! > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "Google Web Toolkit" group. > >> > To post to this group, send email to > >> > google-web-tool...@googlegroups.com. > >> > To unsubscribe from this group, send email to > >> > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > >> > For more options, visit this group at > >> > http://groups.google.com/group/google-web-toolkit?hl=en. > >> > > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Google Web Toolkit" group. > >> To post to this group, send email to > google-web-tool...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > >> For more options, visit this group at > >> http://groups.google.com/group/google-web-toolkit?hl=en. > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Web Toolkit" group. > > To post to this group, send email to google-web-toolkit@googlegroups.com > . > > To unsubscribe from this group, send email to > > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/google-web-toolkit?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.