Ho capito perfettamente cosa intendi, lo puoi fare utilizzando l'oggetto Image di javascript
<script language="javascript">
<!--
var oldFileName = '';
function startTimer() {
window.setInterval('makePreviews()', 100);
}
window.onload = startTimer;
var IMAGE_COUNT = 5;
var oldFileName = new Array(IMAGE_COUNT);
for (var i = 0; i<=IMAGE_COUNT; i++) {
oldFileName[i] = '';
}
var fileSizes = new Array(IMAGE_COUNT);
for (var i = 0; i<=IMAGE_COUNT; i++) {
fileSizes[i] = 0;
}
function updateTotalSize() {
var t = 0;
for (var i = 0; i<=IMAGE_COUNT; i++) {
t += fileSizes[i];
}
imagesSizeSum.innerText = t;
uploadTime.innerText = Math.round((t * 1000 * 8 / 33000 / 60) + .49);
uploadTimeADSL.innerText = Math.round((t * 1000 * 8 / 128000 / 60) + .49);
uploadTimeISDN.innerText = Math.round((t * 1000 * 8 / 64000 / 60) + .49);
}
function onImageLoaded(img, num) {
var realimg = new Image();
realimg .src = img .src;
var res = calcResizing(realimg.width, realimg.height, 100, 100);
img.width = res[0];
img.height = res[1];
fileSizes[num] = parseInt(img.fileSize / 1000);
var currentSelectedFile = img .src;
var re = /\\/g
currentSelectedFile = currentSelectedFile.replace(re, '/');
currentSelectedFile = currentSelectedFile.replace("'", "\'");
currentSelectedFile = currentSelectedFile.substr(currentSelectedFile.lastIndexOf('/') + 1);
eval('imageName' + num + '.innerText=' + '"Nome: " + "' + currentSelectedFile + '"');
eval('fileWeight' + num + '.innerText=' + fileSizes[num] + ' + "Kb"');
var realImage = new Image();
realImage.src = img .src;
eval('imageSize' + num + '.innerText=' + realImage.width + ' + "x" + ' + realImage.height);
updateTotalSize();
}
function onImageLoadError(img, num) {
img.width = 0;
img.height = 0;
fileSizes[num] = 0;
eval('imageName' + num + '.innerText=""');
eval('fileWeight' + num + '.innerText=""');
eval('imageSize' + num + '.innerText=""');
updateTotalSize();
}
function makePreviews() {
for (var i=0; i<IMAGE_COUNT; i++) {
makePreview(i);
}
}
function makePreview(num) {
var currentSelectedFile = eval('document.frm.image' + (num + 1) + '.value');
if (currentSelectedFile == oldFileName[num]) {
return;
} else {
oldFileName[num] = currentSelectedFile;
}
if (currentSelectedFile == "") {
var t = eval("document.thumb" + (num + 1));
t.src = "";
} else {
var t = eval("document.thumb" + (num + 1));
t.src = currentSelectedFile;
}
}
function calcResizing(srcWidth, srcHeight, trgWidth, trgHeight) {
var fx, fy, f;
fx = srcWidth / trgWidth;
fy = srcHeight / trgHeight;
if (fx > fy) f = fx; else f = fy;
if (f < 1) f = 1;
var res = new Array();
res[0] = parseInt(srcWidth / f);
res[1] = parseInt(srcHeight / f);
return res;
}
//-->
</script>
Naturalmete nel form devi predisporre i contenitori per contenere immagini e dati relativi ad essa, il form io di sopra l'ho chiamato frm. Lo script qui sopra non è che sia proprio scritto a modo, d'altronde questo è un forum di Asp.NET e quello script lo scopiazzato e adattato alle mie esigenze, senza però ottimizzarlo (tra l'altro l'ho fatto molto tempo fa e non ricordo nemmeno cosa fa esattamete forse permetteva l'upload simultano di 5 immagini)
<input name="image1" type="file" class="box_input" size="50"><br>
<span id="imageName1"> </span>
<span id="fileWeight1"> </span>
<span id="imageSize1"> </span>