Avatar billede joki Mester
29. april 2006 - 18:51 Der er 5 kommentarer og
1 løsning

Hjælp til fil upload

Hej

Jeg har taget denne kode fra siden her  http://www.servlets.com/jservlet2/examples/ch04/  (nederst) men får fejlen :  "java.lang.IllegalArgumentException: Not a directory: /tmp"  jeg har oprettet et biblioteket "tmp" under projetet

Kan nogen hjælpe med at få dette til at køre eller vise mig en servlet som de ved fungere.

min servlet :

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

import com.oreilly.servlet.MultipartRequest;

public class UploadTest extends HttpServlet {

  public void doPost(HttpServletRequest req, HttpServletResponse res)
                                throws ServletException, IOException {
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();

    try {
      // Blindly take it on faith this is a multipart/form-data request

      // Construct a MultipartRequest to help read the information.
      // Pass in the request, a directory to save files to, and the
      // maximum POST size we should attempt to handle.
      // Here we (rudely) write to /tmp and impose a 50 K limit.
      MultipartRequest multi =
        new MultipartRequest(req, "/tmp", 50 *1024 * 1024,
          new com.oreilly.servlet.multipart.DefaultFileRenamePolicy());

      out.println("<HTML>");
      out.println("<HEAD><TITLE>UploadTest</TITLE></HEAD>");
      out.println("<BODY>");
      out.println("<H1>UploadTest</H1>");

      // Print the parameters we received
      out.println("<H3>Params:</H3>");
      out.println("<PRE>");
      Enumeration params = multi.getParameterNames();
      while (params.hasMoreElements()) {
        String name = (String)params.nextElement();
        String value = multi.getParameter(name);
        out.println(name + " = " + value);
      }
      out.println("</PRE>");

      // Show which files we received
      out.println("<H3>Files:</H3>");
      out.println("<PRE>");
      Enumeration files = multi.getFileNames();
      while (files.hasMoreElements()) {
        String name = (String)files.nextElement();
        String filename = multi.getFilesystemName(name);
        String original = multi.getOriginalFileName(name);
        String type = multi.getContentType(name);
        File f = multi.getFile(name);
        out.println("name: " + name);
        out.println("filename: " + filename);
        if (filename != null && !filename.equals(original)) {
          out.println("original file name: " + original);
        }
        out.println("type: " + type);
        if (f != null) {
          out.println("length: " + f.length());
        }
        out.println();
      }
      out.println("</PRE>");
    }
    catch (Exception e) {
      out.println("<PRE>");
      e.printStackTrace(out);
      out.println("</PRE>");
    }
    out.println("</BODY></HTML>");
  }
}


siden med formen :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <title></title>
  </head>
  <body>
  <FORM ACTION="UploadFile" ENCTYPE="multipart/form-data" METHOD=POST>
What is your name? <INPUT TYPE=TEXT NAME=submitter> <BR>
Which file do you want to upload? <INPUT TYPE=FILE NAME=file> <BR>
<INPUT TYPE=SUBMIT>
</FORM>

  </body>
</html>
Avatar billede erikjacobsen Ekspert
29. april 2006 - 19:06 #1
"...et biblioteket "tmp" under projetet ...."  - jamen så ligger det jo heller ikke i roden af filsystemet. I stedet for /tmp skal du vel skrive den fulde sti til dit katalog.
Avatar billede arne_v Ekspert
29. april 2006 - 19:10 #2
og medmindre du har meget specielle behov så er Jakarta FileUpload langt
nemmere at bruge
Avatar billede joki Mester
30. april 2006 - 07:44 #3
til at starte med lykkes det ved at skrive den fulde sti, men takker for begge input.
erik >> smid bare et svar.
Avatar billede erikjacobsen Ekspert
30. april 2006 - 08:37 #4
Jeg samler slet ikke på point, tak.
Avatar billede joki Mester
30. april 2006 - 18:44 #5
ok, men så takker jeg bare for hjælpen
Avatar billede joki Mester
15. maj 2011 - 07:17 #6
Lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester