Come determinare altezza e larghezza di una immagine caricata tramite il controllo upload in asp.net

Capita spesso di caricare tramite pagina Asp.Net un'immagine.

Il supporto fornito dal Framework .Net consente di farlo in maniera molto più semplice che in passato accedendo alla proprietà PostedFile del controllo INPUT di tipo file modificato per essere eseguito sul server.

Ad esempio:

<input id="imgUpload" type="file" runat="server">

La necessità spesso è quella di verificare il tipo di file inviato oppure altezza e larghezza in pixel per evitare che venga caricata un'immagine troppo grande.

A seguito dell'evento di upload si può fare:

'Creo un oggetto immagine leggendo lo stream di upload

Dim imgUploaded As System.Drawing.Image

imgUploaded = System.Drawing.Image.FromStream(imgUpload.PostedFile.InputStream)

'Determino altezza e larghezza dell'immagine

Dim imgUploadedWidth As Single = imgUploaded.PhysicalDimension.Width

Dim imgUploadedHeight As Single = imgUploaded.PhysicalDimension.Height

 'A questo punto posso fare tutti i controlli del caso

If imgUploadedWidth > 120 Or imgUploadedHeight > 60 Then

Me.ErrorMessageImg.Text = "Le dimensioni massime dell'immagine possono essere di 120*60. Caricare un'immagine più piccola."

Return

End If

Try

ImageBrowse.PostedFile.SaveAs(Server.MapPath(virtualPath))

Catch ex As Exception

Me.ErrorMessageImg.Text = "Errore: impossibile caricare l'immagine sul sito. " + ex.Message.ToString

Return

End Try

Share

Leave a Reply

Your email address will not be published. Required fields are marked *