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 <[email protected]>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 > <[email protected]> wrote: > > On Mon, Jul 12, 2010 at 7:26 PM, Jeff Chimene <[email protected]> > 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 [email protected] > . > > To unsubscribe from this group, send email to > > [email protected]<google-web-toolkit%[email protected]> > . > > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-web-toolkit%[email protected]> > . > 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 [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.
