Promemoria: Upload di un file (jsp/servlet)

Innanzitutto occorre avere la libreria com.oreilly.servlet. Dovrebbe chiamarsi cos.jar. Dettagli li trovate qua:

http://www.servlets.com/cos/

Lato HTML:

Il tag <FORM> deve avere l’attributo:

enctype="multipart/form-data"

altrimenti ciccia, e viene restituito un errore del tipo:

Posted content type isn't multipart/form-data

Per aprire nella jsp una dialog per scegliere quale file uplodare potete fare

<input name="file" type="file" id="file" size="40" value="">

Lato Servlet
A questo punto la servlet che viene chiamata deve utilizzare la classe MultipartRequest:

MultipartRequest multi = new MultipartRequest(request, dirName);

dove dirName è il percorso dove verrà  salvato il file da uplodare. Un modo per ottenere i parametri dalla request è¨:

Enumeration params = multi.getParameterNames();
while (params.hasMoreElements()) {
String name = (String)params.nextElement();
String value = multi.getParameter(name);
}

Per estrarre i file presenti nell’oggetto MultipartRequest si può fare:

Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
filename = multi.getFilesystemName(name);
}

Tutto quà .

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>