23. august 2004 - 18:00Der er
7 kommentarer og 1 løsning
Upload fil med dato og tidspunkt
er der ikke nogen der kan lave dette script om således et den gemmer filen således at fil navnet kommer til at indeholde dato og klokkeslæt (ÅÅÅÅ-MM-DD-TTMMSS-filnavn.filtype) og den skal selvfølgelig bruge server tiden!!
selve scriptet uploader et billed og laver en kopi som bliver skaleret, så det er vigtigt at billederne i mappen "uploaded/" og "uploaded/stor/" hedder det samme!!!
if(upload_file.PostedFile.FileName.IndexOf("\\") > 0) { strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1); } else { // jeg ved ikke hvad det her gør godt for... måske gør du :o) strFileName = "ukendt fil"; } strFileName = DateTime.Now.ToString("yyyy-MM-ddHHmmss")+"-"+strFileName; if(!File.Exists(Server.MapPath("uploaded/stor/" + strFileName))) {
int MaxSize = 100; try { System.Drawing.Image image = new System.Drawing.Bitmap(upload_file.PostedFile.InputStream); upload_file.PostedFile.SaveAs(Server.MapPath("uploaded/stor/" + strFileName)); System.Drawing.Bitmap bOrg = (System.Drawing.Bitmap)image; System.Drawing.Imaging.ImageFormat format = image.RawFormat;
if(image.Width>MaxSize || image.Height>MaxSize) { Bitmap b = Resize(bOrg,MaxSize,MaxSize); b.Save(Server.MapPath("uploaded/" + strFileName ),format); } else { //Gem original da billede allerede er mindre end 100px upload_file.PostedFile.SaveAs(Server.MapPath("uploaded/" + strFileName)); } Response.Write("<a href=\"img.asp?img=uploaded/stor/" + strFileName + "\">vis billed</a></p>"); } catch { Response.Write("Der skete en fejl ved processering af billedet"); } } else { Response.Write("Filnavn eksisterer allerede, prøv at ombøbe billedet!"); }
} else { //Fil var for stor Response.Write("Billedet er over 100kb"); } } private static Bitmap Resize(Bitmap b, int MaxHeight, int MaxWidth) { int nWidth = b.Width; int nHeight = b.Height; if(nHeight>MaxHeight) { nWidth = (int)((((double)b.Width)/((double)b.Height))*((double)MaxHeight)); nHeight = MaxHeight; } if(nWidth>MaxWidth) { nWidth=MaxWidth; nHeight = (int)((((double)b.Height)/((double)b.Width))*((double)MaxWidth)); } Bitmap bTemp = (Bitmap)b.Clone(); b = new Bitmap(nWidth, nHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb); double nXFactor = (double)bTemp.Width/(double)nWidth; double nYFactor = (double)bTemp.Height/(double)nHeight; for (int x = 0; x < b.Width; ++x) for (int y = 0; y < b.Height; ++y) b.SetPixel(x, y, bTemp.GetPixel((int)(Math.Floor(x * nXFactor)), (int)(Math.Floor(y * nYFactor)))); return b; }
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.