16. juli 2003 - 11:54
Der er
13 kommentarer og 1 løsning
Konverter gif og bmp til jpg i upload script
Hejsa Har dette upload script: Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") Image.AutoSize = auto Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If Set Image = nothing Hvordan får jeg ændre så hvis en bmp eller gif fil uploades så bliver den konverteret til jpg?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") Image.AutoSize = auto Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) Image.ImageFormat = 1 '1 betyder jpg Image.JPEGQuality = 60 'kvaliteten på billedet, 60% width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If Set Image = nothing
Den uploader billedet men det forbliver i bmp :-(
prøv dette: Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) Image.AutoSize = auto Image.ImageFormat = 1 Image.JPEGQuality = 60 Image.FileName = (Server.MapPath("Pics/" & File.FileName & "")) width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If Image.SaveImage Set Image = nothing
dette skal nok virke!! Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") noget = File.FileName billede = split(noget, ".") Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) Image.AutoSize = auto Image.ImageFormat = 1 Image.JPEGQuality = 60 Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg")) width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg")) Image.SaveImage End If Image.SaveImage Set Image = nothing
Det hjalp ... men den gemmer bmp billedet ... hvordan får jeg så den kun gemmer jpg billedet? Desuden så når jeg kalder billedet frem på siden med: <% = File.FileName %> Så bruger den jo billed.bmp og ikke den nye som den har lavet billed.jpg ... hvordan kommer jeg omkring dette?
det har jeg jo skrevet i koden: noget = File.FileName billede = split(noget, ".") response.write(billede(0) & ".jpg")
du kan jo bare slette .bmp billedet igen: dim fs,f set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFile(server.mappath("Pics/" & File.FileName & "") f.Delete set f=nothing set fs=nothing
Nu jeg prøver at uploade igen så kan jeg se at den laver bmp filer om til jpg men jpg billederne er tomme ... der er intet i dem ... de fylder 0kb ... der er altså noget galt med kode ... den havde nok ikke lige opdateret da jeg prøvede før ...
Har ændret koden til følgende: Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") navn = File.FileName billede = split(navn, ".") Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) Image.ImageFormat = 1 Image.JPEGQuality = 100 Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg")) width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If Set Image = nothing Nu virker det med at den ændrei størrelsen og at hvis det er et bmp billede der er størerere end 563 så ændre den det til et jpg ... men hvordan gør jeg nu lige så jeg får den til at ændre et bmp der er mindre end 563 til at være en jpg fil?
16. juli 2003 - 15:19
#10
Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/iArrangementsudvalg/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") navn = File.FileName billede = split(navn, ".") Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) Image.ImageFormat = 1 Image.JPEGQuality = 100 Image.FileName = (Server.MapPath("Pics/" & billede(0) & ".jpg")) width = File.ImageWidth intXSize = File.ImageWidth intYSize = File.ImageHeight If width > 563 Then intXSize = 563 intYSize = (intXSize / width) * File.ImageHeight Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage else Image.SaveImage End If Set Image = nothing
16. juli 2003 - 15:24
#11
Det hjalp ... nu har jeg kun lige et problem med at slette bmp billedet igen. Jeg få denne fejl: Expected ')' I linjen: set f=fs.GetFile(server.mappath("Pics/" & File.FileName & "")
16. juli 2003 - 16:08
#12
Glem det ... opretter et nyt spørgsmål til det ... tak for hjælpen!
16. juli 2003 - 20:51
#13
set f=fs.GetFile(server.mappath("Pics/" & File.FileName & ""))
17. juli 2003 - 08:59
#14
Selvfølgelig ... hvorfor havde jeg ikke set det ... tak
Kurser inden for grundlæggende programmering