2009-06-04 6 views
2

Hochladen denn ich bin mit javazoomeine Datei in Java unter Verwendung eines Servlet

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException { 
    PrintWriter out = null; 
    JOptionPane.showMessageDialog(null, "Lets do this"); 
    try { 
     response.setContentType("text/html;charset=UTF-8"); 
     try { 
      MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request); 
      //get uploaded files 
      Hashtable files = dataRequest.getFiles(); 
      if (!files.isEmpty()) { 
       UploadFile uploadFile = (UploadFile) files.get("filename"); 
       byte[] bytes = uploadFile.getData(); 
       String s = new String(bytes); 

die das Hochladen von Dateien immer als leer kommen. Irgendwelche Hilfe bitte?


Ich habe dann versucht, dies zu tun mit Apache Commons Fileupload:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException { 
    PrintWriter out = null; 

     try { 

      response.setContentType("text/html;charset=UTF-8"); 
      //MultipartFormDataRequest dataRequest = new MultipartFormDataRequest(request); 
      //get uploaded files 
      FileItemFactory factory = new DiskFileItemFactory(); 
      // Create a new file upload handler 
      ServletFileUpload upload = new ServletFileUpload(factory); 
      List files = null; 
      try { 
       files = upload.parseRequest(request); 
      } catch (FileUploadException ex) { 
       Logger.getLogger(ProcessUploadItem.class.getName()).log(Level.SEVERE, null, ex); 
      } 

und es scheiterte an files = upload.parseRequest(request);

Alle Zeiger?

Leider und danke :)

+0

Bitte beachten Sie die Vorschläge beim Markieren Ihrer Frage. Jedes Tag mit einer Nummer kleiner als 10 nach seinem Namen ist wahrscheinlich falsch. Vermeiden Sie das Erstellen neuer Tags. –

+0

ah thnx ... Ich werde das im Hinterkopf behalten – Lilz

Antwort

3

Überprüfen Sie die Form, die Datei zu senden hat enctype = "multipart/form-data" definiert wie hier:

<form enctype="multipart/form-data" action="... 

Andere Art und Weise wird die Datei nach nie laden zu RFC1867

+0

Ich schrieb dies an mein anderes Servlet out.println ("

"); out.println ("

Datei-Upload

"); out.println ("Wählen Sie eine Datei:"); out.println (""); out.println ("
"); out.println (""); out.println (""); – Lilz

0

Verwenden Sie ein anderes Framework, wie Trinidad oder ähnliches? Sie enthalten normalerweise Filter, die die hochgeladenen Dateien wiederherstellen. Wenn der Prozess auf Ihren Server gelangt, enthält die Anfrage keine angehängte Datei.

+0

Nein, ich glaube nicht, dass ich bin: S – Lilz

+0

Ich denke, Skaffman gab Ihnen die Antwort :) –

4

Ich würde empfehlen, eine populärere, hochkarätige Bibliothek zu verwenden, wie Apache Commons FileUpload. Es ist wahrscheinlicher zu arbeiten, bessere Dokumente zu haben und mehr Leute zu haben, die Ihnen helfen, es zu benutzen.

+0

danke eigentlich ich denke, ich werde – Lilz

Verwandte Themen