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

    Upload File Su Server

    Salve a tutti.
    ho bisogno di una illuminazione:
    sto costruendo un middleware client-server in jsp.

    devo implementare, ora, l'upload di file dal client verso il server, ma non so come fare..

    i file sono immagini jpg, png o dcm (file dicom usati in medicina). Ho letto qua e la varie soluzioni proprietarie quindi non utilizzabili..

    1) fare l'upload attraverso una mail...(ma io ho un file e non una <textarea>da compilare)
    2) fare l'upload con la tecnologia dei messaggi SOAP...

    qualcuno sa darmi dei consigli, dei link o degli esempi in tal senso???

    Grazie anticipatamente..

    Beef


  2. #2
    Dai uno sguardo alle classi fornite da Jakarta FileUpload

    in giro trovi parecchi esempi.
    Al mio segnale... scatenate l'inferno!

  3. #3
    Ecco la mia soluzione:

    form.html

    <HTML>
    <HEAD>
    <TITLE>form.jsp</TITLE>
    </HEAD>
    <BODY>
    <form action="upload.jsp" method="POST" enctype="multipart/form-data">

    <input type="file" name="theFile">


    <input type="submit">
    </form>

    </BODY>
    </HTML>

    -------------------------------------------------------------------------

    upload.jsp

    <HTML>
    <HEAD>
    <%@ page
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"
    %>
    <TITLE>upload.jsp</TITLE>
    </HEAD>
    <BODY>
    <%@ page import="java.io.*" %>

    <%
    String contentType = request.getContentType();
    System.out.println("Content type is :: " +contentType);
    if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
    DataInputStream in = new DataInputStream(request.getInputStream());
    int formDataLength = request.getContentLength();

    byte dataBytes[] = new byte[formDataLength];
    int byteRead = 0;
    int totalBytesRead = 0;
    while (totalBytesRead < formDataLength) {
    byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
    totalBytesRead += byteRead;
    }

    String file = new String(dataBytes);
    String saveFile = file.substring(file.indexOf("filename=\"") + 10);
    //out.print("FileName:" + saveFile.toString());
    saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
    //out.print("FileName:" + saveFile.toString());
    saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
    //out.print("FileName:" + saveFile.toString());

    //out.print(dataBytes);

    int lastIndex = contentType.lastIndexOf("=");
    String boundary = contentType.substring(lastIndex + 1,contentType.length());
    //out.println(boundary);
    int pos;
    pos = file.indexOf("filename=\"");

    pos = file.indexOf("\n", pos) + 1;

    pos = file.indexOf("\n", pos) + 1;

    pos = file.indexOf("\n", pos) + 1;


    int boundaryLocation = file.indexOf(boundary, pos) - 4;
    int startPos = ((file.substring(0, pos)).getBytes()).length;
    int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
    //La directory nel quale va salvato il file
    saveFile = "C:\\" + saveFile;
    FileOutputStream fileOut = new FileOutputStream(saveFile);


    //fileOut.write(dataBytes);
    fileOut.write(dataBytes, startPos, (endPos - startPos));
    fileOut.flush();
    fileOut.close();

    out.println("File salvato in " +saveFile);

    }
    %>

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.