Per l'upload uso una serie di metodi e oggetti messi a disposizione del framework di Tomcat...

Ti allego un'estratto del codice che richiamato nell'action della form ti esegue l'upload...tieni conto che sono alle prime armi con questo genere di cose.

Non sono riuscito a trovare nessun oggetto che mi implementi la progress bar...comunque per ora ci ho messo una pezza aprendo una pop che mi dice "Attendere prego..." finchè il caricamento non è finito.

Grazie mille comunque.

Metodo

Codice:

<%@ page import="org.apache.commons.fileupload.*" %>

<%

String fileName = "";
String dwnload ="";
boolean isMultipart;
FileItem item = null;
FileItem file_item = null;

isMultipart = FileUpload.isMultipartContent(request);

if (isMultipart) {

System.out.println("Parsing multipart request");

try {

// Create a new file upload handler
DiskFileUpload upload = new DiskFileUpload();

// Parse the request
List items = upload.parseRequest(request);

// Process the uploaded items
Iterator iter = items.iterator();


// Set upload parameters
upload.setSizeThreshold(204800);
upload.setSizeMax(2147483647);
upload.setRepositoryPath("c:\\temp");

while (iter.hasNext()) {

item = (FileItem) iter.next();
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();

// qui puoi prenderti i valori dei campi input della form
} else {
// qui ti prendi il file
file_item = item;
String fieldName = item.getFieldName();
fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();

System.out.println("\n\n fieldName "+fieldName);
System.out.println("\n\n fileName "+fileName);
System.out.println("\n\n contentType "+contentType);
System.out.println("\n\n isInMemory "+isInMemory);
System.out.println("\n\n sizeInBytes "+sizeInBytes);
}




}

if (fileName.lastIndexOf('\\') != -1) {
fileName = fileName.substring(fileName.lastIndexOf('\\')+1);
}


} catch ( Exception e){
System.out.println("exception ..." + e);
errore = e.getMessage();

}

} else {
// ti prendi i campi con la classica request.getParameter
}

// qui tiro fuori i parametri che ho settato nel file Resource.propoerties
ResourceBundle res = ResourceBundle.getBundle("Resources");
dwnload = res.getString("DOWNLOAD");
System.out.println("Path di appoggio :" + dwnload);

// qui scrivo effettivamente il file sul server
System.out.println("Scrittura :" +dwnload+fileName);
File uploadedFile = new File(dwnload+fileName);
file_item.write(uploadedFile);

%>