Ciao a tutti,
sto utilizzando questo codice per fare il ridimenamento delle fotografie:
che richieamo così:codice:<%@ Page Language="C#" %> <%@ import Namespace="System.Drawing" %> <%@ import Namespace="System.Drawing.Imaging" %> <%@ import Namespace="System.Text.RegularExpressions" %> <script runat="server"> int MaxWidth = 120; // Larghezza massima dopo il quale l'immagine viene ridimensionata int MaxHeight = 90; // Altezza massima dopo il quale l'immagine viene ridimensionata int valorelarghezza = 120; int valorealtezza = 90; System.Drawing.Image oldImage, newImage; void Page_Load(Object sender, EventArgs e) { if ( Request.QueryString["FileName"] != null ) { string strFileName = Convert.ToString(Request.QueryString["FileName"]); if ( strFileName != "" ) { try { oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) ); int larghezzafoto = oldImage.Width; int altezzafoto = oldImage.Height; int confrontolarghezza = larghezzafoto - valorelarghezza; int confrontoaltezza = altezzafoto - valorealtezza; if ( confrontolarghezza > 0 || confrontoaltezza > 0 ) { if ( confrontolarghezza > confrontoaltezza ) { altezzafoto = ((valorelarghezza*altezzafoto)/larghezzafoto); if ( (valorealtezza - altezzafoto) < 6 ) { altezzafoto = valorealtezza; } larghezzafoto = valorelarghezza; } else { larghezzafoto = ((valorealtezza*larghezzafoto)/altezzafoto); if ( (valorelarghezza - larghezzafoto) < 6 ) { larghezzafoto = valorelarghezza; } altezzafoto = valorealtezza; } } if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) { // Immagine troppo grande, visualizzo la miniatura newImage = oldImage.GetThumbnailImage( (larghezzafoto), (altezzafoto), null, IntPtr.Zero); Response.ContentType = "image/jpeg"; newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); oldImage.Dispose(); newImage.Dispose(); oldImage = null; newImage = null; } else { // Immagine piccola, non faccio nulla Response.ContentType = "image/jpeg"; oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); oldImage.Dispose(); oldImage = null; } } catch (Exception ex) { Response.Write(ex.Message); } } } } private bool IsInteger(string strTmp) { Regex objNotIntPattern = new Regex("[^0-9-]"); Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$"); return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp); } </script>
tutto bene se le fotografie risiedono nel dominio sul quale sto lavorando.codice:ridimensionacaseelenco.aspx?FileName=/public/case/nomefile.jpg
Se invece cerco di pescare le fotografie da un altro mio dominio così:
mi da questo errore:codice:ridimensionacaseelenco.aspx?FileName=http://www.domini1.it/public/case/nomefile.jpg
'http://www.dominio1.it/public/case/nomefile.jpg' is not a valid virtual path
Come posso risolvere?
Fatemi sapere.
Grazie mille!

Rispondi quotando