Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Upload file ad una servlet

    Salve a tutti ho un browser client scritto in java e da questo dovrei mandare un immagine ad una servlet. Fino a questo momento ho scritto questo:

    //Questo è il client che effettua la chiamata
    url = new URL("http://localhost:8080/esempio1/caricaRisultato");
    connection = (HttpURLConnection)url.openConnection();
    connection.setDoInput(true);
    connection.setDoOutput(true);
    connection.setUseCaches(false);
    connection.setRequestMethod("POST");
    connection.setAllowUserInteraction(true);
    connection.setRequestProperty("Content-Type", "multipart/form-data;");
    out = new PrintWriter(connection.getOutputStream());
    String outFileName = "scr1.png";
    // determine current screen size
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    Dimension screenSize = toolkit.getScreenSize();
    Rectangle screenRect = new Rectangle(screenSize);
    // create screen shot
    Robot robot = new Robot();
    BufferedImage image = robot.createScreenCapture(screenRect);
    // save captured image to PNG file
    ImageIO.write(image, "png", new File(outFileName));
    FileInputStream fs = new FileInputStream(outFileName);
    out.println("id="+leggiId()+"&ip="+InetAddress.get LocalHost()+"&tipoOp=schermatax&risultato="+fs);
    out.close();
    in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String inputLine;
    connect("http://localhost:8080/esempio1/init");



    //Questa è la servlet:
    DiskFileUpload fileUpload = new DiskFileUpload();
    List list = null;
    try{
    list = fileUpload.parseRequest((HttpServletRequest) request);}
    catch(FileUploadException ex){throw new ServletException("Wrapped",ex);}
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
    FileItem item = (FileItem) iter.next();
    if (!item.isFormField()) {
    File itemFile = new File(item.getName());
    File destDir = new File(getServletContext().getRealPath("/")
    +"stored");
    if(!destDir.exists()) {
    destDir.mkdirs();
    }
    File destFile = new File(getServletContext().getRealPath("/")
    +"stored"+File.separator+itemFile.getName());
    try
    {
    item.write(destFile);
    }
    catch(Exception ex)
    {
    System.out.println(ex.getMessage());
    }
    }
    }
    Cosa sbaglio?
    Qualcuno ha già del codice pronto??
    Grazie a tutti!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Alcune considerazioni:

    1) Quando si posta il codice, lo si fa utilizzando gli appositi tag CODE previsti dal forum, come espressamente indicato nel Regolamento.

    2) Richieste del tipo "Chi ha del codice completo" non sono ammesse.

    3) Vedo che fai uso di una classe DiskFileUpload, che non fa parte del core standard di Java (né di J2EE)... che roba è?

    4) Se hai a che fare con file-upload su Servlet, ti consiglio di utilizzare la libreria messa a disposizione da O'Reilly per le MultipartRequest.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Grazie per la risposta e per le precisazioni.
    Le classi DiskFileUpload e FileUpload.. sono su delle librerie di apache, dovrebbero facilitare l'upload dei file nel server. Adesso provo a smanettare pure con quella che mi hai postato.
    Comunque il problema secondo me è che non sto settando bene il client.
    Più precisamente non sono convinto qui:
    codice:
    FileInputStream fs = new FileInputStream(outFileName);
    out.println("id="+leggiId()+"&ip="+InetAddress.getLocalHost()+"&tipoOp=schermatax&risultato="+fs);
    out.close();
    Probabilmente non posso passare un FileInputStream, ma piuttosto un flusso di byte.
    Boh!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.