ASP.NET lastet opp bilder som thumbnails

En liten kode som viser hvordan du godta en HTTP opplasting av et JPG og lagre det med forskjellig dimensions.//First koden til å akseptere bildet private void UploadImageButtonClick (objekt avsenderen, System.EventArgs e) {try {System.Web.HttpFileCollection allUploadedFiles = System.Web.HttpContext.Current.Request.Files; if (allUploadedFiles.Count == 0) kaster nytt unntak (" Ingen filer lastet opp "); if (allUploadedFiles.Count > 1) kaster nytt unntak (" For mange filer som er lastet opp ");
System.Web.HttpPostedFile uploadedFile = allUploadedFiles.Get (0); String filnavn = Path.GetFileName (uploadedFile.FileName); String fileExt = Path.GetExtension (filnavn); if (fileExt.ToLower () = "! .jpg ") kaster nytt unntak (" Filen er ikke et JPG-bilde ");
String newFileName = Server.MapPath (" lastet opp /bilder ") + " \\\\ " + Filnavn; if (File.Exists (newFileName)) kaster nytt unntak (filename + " allerede finnes, må du slette den første ");
System.Drawing.Image image = CreateThumbnailImage (uploadedFile); ImageCodecInfo encoder = FindCodecInfo (" JPEG "); EncoderParameters encoderParameters = nye EncoderParameters (); encoderParameters.Param [0] = new EncoderParameter (System.Drawing.Imaging.Encoder.Quality, 25L); image.Save (newFileName, encoder, encoderParameters); } Catch (Exception feil) {//Håndtak tilsvar}}
//Neste koden for å finne bildet encoder private ImageCodecInfo FindCodecInfo (String beskrivelse) {ImageCodecInfo [] kodere = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders (); foreach (ImageCodecInfo giver i kodere) if (encoder.FormatDescription == beskrivelse) avkastning encoder; returnere null; }
//Nå koden for å endre størrelse + spare privat System.Drawing.Image CreateThumbnailImage (HttpPostedFile fil) {System.Drawing.Image kilde; System.Drawing.Image resultat; Double xRatio; Double yRatio; Int32 newWidth; Int32 newHeight;
kilde = System.Drawing.Image.FromStream (file.InputStream);
xRatio = 150,0 /source.Width; yRatio = 150,0 /source.Height; if (xRatio < yRatio) yRatio = xRatio; annet xRatio = yRatio;
newWidth = (Int32) System.Math.Round (source.Width * xRatio); newHeight = (Int32) System.Math.Floor (source.Height * yRatio);
resultat = source.GetThumbnailImage (newWidth, newHeight, null, IntPtr.Zero); returnere resultat; }



Previous:
Next Page: