Di seguito vi riporto uno script (client-side) per effettuare la preview di un immagine prima di farne l'upload sul server.
Garantisco che non è stato facile, quindi eccola:
<script language=javascript type="text/javascript">
var maxLarghezza=100;
var maxAltezza=100;
var TipiFile=["bmp","gif","png","jpg","jpeg"];
var Output="img";
var FotoMom;
function ApplicaModifica()
{
var Campo=document.getElementById(Output);
var x=parseInt(FotoMom.width);
var y=parseInt(FotoMom.height);
if (x>maxLarghezza)
{
y*=maxLarghezza/x;
x=maxLarghezza;
}
if (y>maxAltezza)
{
x*=maxAltezza/y;
y=maxAltezza;
}
Campo.style.display=(x<1 || y<1)?"none":"";
Campo.src=FotoMom.src;
Campo.width=x;
Campo.height=y;
}
function SettaImmagine()
{
var source=document.getElementById('file').value;
var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
for (var i=0; i<TipiFile.length; i++) if (TipiFile[i]==ext) break;
if (i<TipiFile.length)
{
xxx='file://localhost/' + source;
xxx=xxx.toLowerCase();
FotoMom=new Image()
FotoMom.src=xxx;
setTimeout("ApplicaModifica()",200);
}
else
{
alert('FORMATO NON VALIDO!!\n');
}
}
</script>
......
......
<BODY>
<br>
<input type="file" id="file" onchange="SettaImmagine()">
<br>
<img id="img" src="">
<br>
</BODY>
Ciao
Ivan
Per collegare più eventi ad un singolo Handler evento in VB.Net basta modificale la clausola degli Handles del metodo aggiungendo i nomi degli eventi che si vogliono associare al metodo stesso.
Separiamo i nomi degli eventi con le virgole come nell'esempio seguente.
Questo codice mostra come collegare al metodo Button_Click gli eventi generati di tre Button differenti.
Sub Button_Click (ByVal sender as System.Object, _
ByVal e as System.EventArgs) _
Handles Button1.Click, Button2.Click, Button3.Click
In questo modo l'evento Button_Click verrà eseguito alla pressione di tutti e tre i pulsanti.
Bisogna fare attenzione a non riabinare poi l'evento On_click di un Button ad un ltro metodo perchè ovviamente l'evento sarebbe associato a due metodi differenti, generando un errore.
Ciao
Ivan