22. juli 2008 - 15:51Der er
6 kommentarer og 1 løsning
FileUpload. Validering af billedestørrelse
Hey,
Jeg har lige lavet det her kode, og det virkede helt fint - men... jeg har nu opdaget, at de billeder der bliver uploadet ikke kan læses. Hverken på siden eller filsystemet.
Hvordan kan jeg ellers gøre det, eller hvad gør jeg forkert?
if (fuFlag.HasFile) { Stream file = fuBillede.FileContent; Bitmap img = new Bitmap(file); file.Close(); if (img.Height > 30 || img.Width > 50) { // Billedet er for stort. fuBillede.Dispose(); } img.Dispose(); }
Har du testet om koden kommer ind i if sætningen når den ikke skal det? Det kunne jo tyde på det, siden det virker når du udkommenterer den. Skal billederne være 50x30 eller 30x50?
Jeg tror problemet skyldes, at du ændre på positionen af filens Stream inde i if sætningen, derudover disposer du den. Prøv noget lignende dette i stedet:
if (fuBillede.HasFile) { Stream file = fuBillede.FileContent; Bitmap img = new Bitmap(file); file.Close(); if (img.Height > 30 || img.Width > 50) { // Billedet er for stort.
} else { // Billedet er korrekt størrelse og bliver gemt. img.Save(Server.MapPath("minmappe") + fuBillede.FileName); } fuBillede.Dispose(); img.Dispose(); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.