al volo...

codice:
<!doctype html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Esempio</title>
<script type="text/javascript">
var	oFReader = new FileReader(),
	// elimina da quest'elenco i formati che vuoi escludere dall'upload...
	rFiltro = new RegExp("^(" + ["image/bmp", "image/cis-cod", "image/gif", "image/ief", "image/jpeg", "image/jpeg", "image/jpeg", "image/pipeg", "image/png", "image/svg+xml", "image/tiff", "image/x-cmu-raster", "image/x-cmx", "image/x-icon", "image/x-portable-anymap", "image/x-portable-bitmap", "image/x-portable-graymap", "image/x-portable-pixmap", "image/x-rgb", "image/x-xbitmap", "image/x-xpixmap", "image/x-xwindowdump"].join("|") + ")$", "i");

/**
* In realta' io preferisco questa forma qua, un po' meno immediata ma più performante... ma alla fine e' uguale...
*
*
*	rFiltro = /^(image\/bmp|image\/cis-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg+xml|image\/tiff|image\/x-cmu-raster|image\/x-cmx|image\/x-icon|image\/x-portable-anymap|image\/x-portable-bitmap|image\/x-portable-graymap|image\/x-portable-pixmap|image\/x-rgb|image\/x-xbitmap|image\/x-xpixmap|image\/x-xwindowdump)$/i;
*
**/

function imageLoaded(oFREvent) {
	document.getElementById("uploadPreview" + oFReader.nImageId).src = "data:" + oFReader.sMimeType + ";base64," + btoa(oFREvent.target.result);
}

oFReader.onload = imageLoaded;

function loadImageFile(oFileInput, nPreviewId) {
	if (oFileInput.files.length === 0) { return; }
	var oFile = oFileInput.files[0];
	oFReader.sMimeType = oFile.type;
	if (oFReader.sMimeType.search(rFiltro) === -1) { alert("Devi selezionare un file immagine!"); return; }
	oFReader.nImageId = nPreviewId;
	oFReader.readAsBinaryString(oFile);
}
</script>
</head>

<body>

<form name="uploadForm" onsubmit="return(false);">
<table><tbody>
  <tr>
    <td width="38%">[img]../immagini/nophoto.gif[/img]</td>
    <td width="62%"><input name="foto1" type="file" size="33" onchange="loadImageFile(this, 1);" id="uploadImage1" /></td>
  </tr>
  <tr>
    <td width="38%">[img]../immagini/nophoto.gif[/img]</td>
    <td width="62%"><input name="foto2" type="file" size="33" onchange="loadImageFile(this, 2);" id="uploadImage2" /></td>
  </tr>
  <tr>
    <td width="38%">[img]../immagini/nophoto.gif[/img]</td>
    <td width="62%"><input name="foto3" type="file" size="33" onchange="loadImageFile(this, 3);" id="uploadImage3" /></td>
  </tr>
  <tr>
    <td width="38%">[img]../immagini/nophoto.gif[/img]</td>
    <td width="62%"><input name="foto4" type="file" size="33" onchange="loadImageFile(this, 4);" id="uploadImage4" /></td>
  </tr>
</tbody></table>
</form>
</body>
</html>
P.S. Java NON È JavaScript