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 <[email protected]> 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 <[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]. >> > 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. >> > > -- > 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. > -- 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.
