Of course i didn't.. Thanks a lot, now my app works! I'm so stupid, how could I forgot? :-)
On 11 kvě, 19:04, gwtGrady <greggradw...@gmail.com> wrote: > I assume you are deploying using a .war file. If so, did you add the > necessary servlet mapping to the web.xml file? > > On May 11, 10:41 am, tom_gwt <tomas.h...@gmail.com> wrote: > > > I get 404 error. Simply the file is not written in HDD. Like I said, > > when i run the app in hosted mode, this works. > > > Here is the servlet code: > > > package com.myapplication.server; > > > import java.io.BufferedInputStream; > > import java.io.BufferedOutputStream; > > import java.io.File; > > import java.io.FileNotFoundException; > > import java.io.FileOutputStream; > > import java.io.IOException; > > import java.util.Iterator; > > import java.util.List; > > > import javax.servlet.ServletException; > > import javax.servlet.http.HttpServlet; > > import javax.servlet.http.HttpServletRequest; > > import javax.servlet.http.HttpServletResponse; > > > import org.apache.commons.fileupload.FileItem; > > import org.apache.commons.fileupload.FileItemFactory; > > import org.apache.commons.fileupload.disk.DiskFileItemFactory; > > import org.apache.commons.fileupload.servlet.ServletFileUpload; > > > import com.myapplication.client.MyApplication; > > > public class FileUploadServlet extends HttpServlet { > > > private static final long MAX_SIZE = 1024 * 1024 * 1024 * 4; > > private static final String CONTENT_TYPE_UNACCEPTABLE = "{error: > > 'File upload failed. " > > + " EXE file can't be uploaded'}" + MAX_SIZE + " bytes or > > less'}"; > > > private static final String KEY_WORD = "FILENAME"; > > private static final String DATA = "FILEDATA"; > > > @Override > > public void doPost(HttpServletRequest request, HttpServletResponse > > response) > > throws ServletException, IOException { > > String json = null; > > > FileItemFactory factory = new DiskFileItemFactory(); > > ServletFileUpload upload = new ServletFileUpload(factory); > > List items = null; > > > try { > > items = upload.parseRequest(request); > > } catch (Exception e) { > > e.printStackTrace(); > > } > > > Iterator it = items.iterator(); > > String tmp = ""; > > FileItem data = null; > > while (it.hasNext()) { > > FileItem item = (FileItem) it.next(); > > if (item.getFieldName().equalsIgnoreCase(KEY_WORD)) { > > tmp = new String(item.get()); > > } else if (item.getFieldName().equalsIgnoreCase(DATA)) { > > data = item; > > } > > > } > > json = processFile(data, tmp); > > response.setContentType("text/plain"); > > response.getWriter().write(json); > > } > > > /** > > * > > * @param item > > * @return > > */ > > private String processFile(FileItem item, String fileName) { > > if (!isContentTypeAcceptable(item)) { > > return CONTENT_TYPE_UNACCEPTABLE; > > } > > try { > > File fl = new File("/tmp/" + fileName + MyServiceImpl.getLogin > > ()); > > fl.deleteOnExit(); > > fl.createNewFile(); > > BufferedInputStream b = new BufferedInputStream(item > > .getInputStream()); > > int i = -1; > > BufferedOutputStream out = new BufferedOutputStream( > > new FileOutputStream(fl)); > > while ((i = b.read()) != -1) { > > out.write((char) i); > > } > > out.close(); > > b.close(); > > } catch (FileNotFoundException e) { > > // TODO Auto-generated catch block > > e.printStackTrace(); > > } catch (IOException e) { > > // TODO Auto-generated catch block > > e.printStackTrace(); > > } > > > return "good"; > > } > > > /** > > * > > * @param item > > * @return > > */ > > private boolean isSizeAcceptable(FileItem item) { > > return item.getSize() <= MAX_SIZE; > > } > > > /** > > * > > * @param item > > * @return > > */ > > private boolean isContentTypeAcceptable(FileItem item) { > > return true;// !item.getContentType().equalsIgnoreCase > > (ACCEPTABLE_CONTENT_TYPE); > > } > > > } > > > On 11 kvě, 17:03, gwtGrady <greggradw...@gmail.com> wrote: > > > > Whe you say "uploading file does not work", what exactly do you mean? > > > Any error message? > > > > On May 10, 8:08 am, tom_gwt <tomas.h...@gmail.com> wrote: > > > > > Hi everyone, > > > > i'm using GWT 1.5.3 and gwtswfext (handling file upload on client > > > > side, javascript/flash library > > > > -http://code.google.com/p/gwtswfext/wiki/GWTSWFUpload). > > > > When I run application in hosted mode, uploading file works fine - > > > > file is saved in e.g. /tmp/ So I compile the application and run it in > > > > tomcat server and uploading file does not work. I tried add file > > > > permission in tomcat configuration file (04webapps.policy) but file > > > > upload still doesnt work. The problem is obviously on the server side, > > > > file upload works in hosted mode and doesnt work when the app is > > > > running at tomcat server. > > > > > 04webapps.policy: > > > > > grant codeBase "file:${catalina.home}/webapps/-" > > > > { > > > > permission java.io.FilePermission "file:/tmp/-", "read, write, > > > > delete"; > > > > > }; > > > > > Please help me..- Hide quoted text - > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---