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