18. november 2006 - 17:24
Der er
2 kommentarer og 1 løsning
Hvordan resize billede, og så uploade?
Hej eksperter! Jeg vil gerne uploade et billede, og have det gemt i to størrelser på serveren. tumbnailformat, og et format af lidt bedre kvalitet. hvordan kan det gøres? Min server understøtter aspImage. Detnæst skal billederne tildeles hver deres unikke navene, som skal gemmes i en session.
Annonceindlæg fra Cornerstones
18. november 2006 - 20:19
#1
jeg forstår ikke hele spørgsmålet men, prøv med picasa, programmet kan godt lave en web-mappe af en mappe med billeder, med thumbnails og færdige formindskede billeder.
18. november 2006 - 21:35
#2
Hej, jeg har lige sat følgende script sammen til dig. Ved at læse mine kommenteringer finder du hurtigt ud af hvad du skal gøre - prøv dig frem ;-) <% If lCase(Request.ServerVariables("REQUEST_METHOD")) = "post" Then Server.ScriptTimeout = 3600 ' Definerer hvilket object jeg skal bruge til at rode med upload. Set Upload = Server.CreateObject("Persits.Upload") ' Da jeg uploader til hukommelsen på serveren, sætter jeg en maks-størrelse på næsten 3 mb Upload.SetMaxSize 3000000, True ' Gemmer i hukommelsen Count = Upload.Save ' Hvis en fil er valgt If count > 0 Then ' Henter filen Set File = Upload.Files("file1") ' Henter informationer om filen strWidth = File.ImageWidth strHeight = File.ImageHeight strExtension = lCase(File.Ext) ImgHeight = "350" ImgWidth = "450" ImgThumbHeight = "100" ImgThumbMaxWidth = "150" ' Ret her hvad billedet skal hedde AktualName = Session("ID") ' Hvad hedder mappen de skal gemmes i ' HUSK - i mappen de skal gemmes i skal også laves en mappe ved navn temp og ved navn thumb strFolder = "/data/" ' Gemmer billedet fysisk på serveren File.SaveAs Server.Mappath("" & strFolder & "/temp") & "\" & AktualName & strExtension Set AspImage = Server.CreateObject("AspImage.Image") AspImage.LoadImage Server.Mappath("" & strFolder & "/temp") & "\" & AktualName & strExtension If strHeight < imgHeight Then intYSize = ImgHeight intXSize = (intYSize / AspImage.MaxY) * AspImage.MaxX Else intYSize = ImgHeight End If If Int(strHeight) > Int(ImgHeight) Then intYSize = ImgHeight intXSize = (intYSize / AspImage.MaxY) * AspImage.MaxX Else intYSize = strHeight intXSize = (intYSize / AspImage.MaxY) * AspImage.MaxX End If If Int(intXSize) > Int(ImgWidth) Then intXSize = ImgWidth intYSize = (intXSize / AspImage.MaxX) * AspImage.MaxY Else intXSize = strWidth intYSize = (intXSize / AspImage.MaxX) * AspImage.MaxY End if If intXsize < intYsize then intXsize = "280" intYsize = "350" AspImage.Resize intXsize, 350 Else AspImage.Resize intXsize, intYsize End if AspImage.FileName = Server.Mappath("" & strFolder & "") & "\" & AktualName & strExtension AspImage.SaveImage ' Henter billedet saa der kan laves thumb AspImage.LoadImage Server.Mappath("" & strFolder & "/temp") & "\" & AktualName & strExtension If Int(strHeight) > Int(ImgThumbHeight) Then intYSize = ImgThumbHeight intXSize = (intYSize / AspImage.MaxY) * AspImage.MaxX AspImage.Resize intXsize, intYsize If Int(intXSize) > 150 Then AspImage.CropImage 0, 0, ImgThumbMaxWidth, intYSize End if End if ' Gemmer det lille billede AspImage.ImageFormat = 1 AspImage.JPEGQuality = 75 AspImage.FileName = Server.Mappath("" & strFolder & "/thumb") & "\" & AktualName & strExtension AspImage.SaveImage ' Sletter det midlertidige billeder ' Der er ingen grund til det ligger og fylder Set FSO = Server.CreateObject("Scripting.FileSystemObject") strSource = Server.Mappath("" & strFolder & "/temp") & "\" & AktualName & strExtension If FSO.FileExists(strSource) Then FSO.DeleteFile(strSource) End if Set FSO = Nothing End If Else %> <form action="" method="post" enctype="multipart/form-data" style="margin:0px;"> <b>Vælg fil:</b> <input type="file" name="file1" style="width:300px;"> <br><br> <input type="submit" value="Upload"> </form> <% End If %>
19. november 2006 - 13:54
#3
Super lækkert... mange tak ;)
Kurser inden for grundlæggende programmering