11. juli 2003 - 09:01
Der er
28 kommentarer og 1 løsning
AspUpload - rezeise billeder
Hejsa Er det muligt og hvis hvordan får jeg så alle de billeder der bliver uploadet ændret så de alle har bredden 563? Jeg benytter aspupload med en progress bar. Jeg var inde og fand følgende men kan ikke se hvordan jeg kæder der sammen med min upload script: <% ' Create an instance of AspJpeg Set Jpeg = Server.CreateObject("Persits.Jpeg") ' Compute path to source image Path = Server.MapPath("images") & "\test.jpg" ' Open source image Jpeg.Open Path ' Decrease image size by 50% Jpeg.Width = Jpeg.OriginalWidth / 2 Jpeg.Height = Jpeg.OriginalHeight / 2 ' Optional: apply sharpening Jpeg.Sharpen 1, 150 ' Create thumbnail and save it to disk Jpeg.Save Server.MapPath("images") & "\test_small.jpg" %>
Annonceindlæg fra Cognizant
Agentic AI kræver mere end teknologi
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
aspupload kan ikke resize billeder - dertil skal du benytte et image-komponent. Et af de klart bedste er aspimage. Men find ud af hvad din server understøtter - er det aspimage så kig på deres hjemmeside for dokumentation
Serveren understøtter aspimgage ...
Sikke en omgang ... jeg var lige inde og se på deres side men blev ikke meget klogere af alt det tekst ... er der en der kan hjælpe mig så skal jeg nok lige smide lidt flere point i! Her er min upload kode: Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/Pics/") Response.Write "Filen er uploaded. <br><br>" & Upload.TotalBytes & " bytes blev uploadet på " & Upload.TotalSeconds & " sekunder.<br><br>" For Each File in Upload.Files %>
De hjalp heller ikke en dyt ... med i zip filen følger heller ikke de billeder med som filerne henviser til ... skod
ja - hvis ikke du kan lave det ud fra producentens egen dokumentation, så har du et problem i hvert fald.
jeg var lige inde og checke ... det link du gav mig er jo ikke et eksempel ... det er jo selve programmet som man kan installer på sin server for at køre med aspimage ... Mit problem er ikke at få aspimage til at virke for sig selv ... mit problem er som jeg skrev at jeg skal have den til at køre med aspupload ... så at når man uploader en fil så bliver størrelsen ændret INDEN den bliver uploadet!
det link jeg gav indeholder også eksempler - det er det asp-filerne er til for. Godt nok er der ikke noget med resize - men det kan du til gengæld finde i deres dokumentation;
http://www.serverobjects.com/comp/Aspimage.htm -> "How do I resize and maintain the aspect ratio?" og den kan let sættes sammen med den fil der hedder "modimg.asp" i det du kan downloade
Du kan ikke få ændret størrelsen på billedet, inden du uploader, da ASPImage og ASPUploade kører serverside. Du bliver derfor nødt til først at få hele billedet uploade, og så resize det til din størrelse, og gemme den igen.
11. juli 2003 - 12:52
#10
Har prøvet at tilføje følgende:
Set Image = Server.CreateObject("AspImage.Image")
Image.AutoSize = auto
Image.LoadImage("
Http://www.domæne.dk/Pics/" & File.FileName)
Sub ResizeX (intXSize)
Dim intYSize
intYSize = (intXSize / Image.MaxX = 563) * Image.MaxY
Image.ResizeR intXSize, intYSize
end sub
Image.FileName = "
Http://www.domæne.dk/Pics/" & File.FileName) & ""
Image.SaveImage
Set Image = nothing
Men får denne fejl:
Expected end of statement
I denne linje:
Image.FileName = "
Http://www.domæne.dk/Pics/" & File.FileName) & ""
11. juli 2003 - 12:56
#11
der er en parentes for meget eller for lidt...
Image.FileName = ("
Http://www.domæne.dk/Pics/" & File.FileName & "")
men jeg er ikke sikker på at man kan gemme med domæne-henvisning - skal nok være mere i retning af;
Image.FileName = (server.mappath("../Pics/" & File.FileName & ""))
11. juli 2003 - 14:11
#12
Har ændre til: Image.LoadImage = (server.mappath("../Pics/" & File.FileName & "")) Men får en fejl: Object required: "
11. juli 2003 - 14:12
#13
I overstående skulle = ikke være med: Image.LoadImage(server.mappath("../Pics/" & File.FileName & ""))
11. juli 2003 - 14:17
#14
Fandt fejlen ... denne skulle være før min kode og ikke efter: For Each File in Upload.Files Men nu får jeg denne fejl: Syntax error I Sub ResizeX (intXSize) Hele min sub ser således ud: Sub ResizeX (intXSize) Dim intYSize intYSize = (intXSize / Image.MaxX = 563) * Image.MaxY Image.ResizeR intXSize, intYSize end sub
11. juli 2003 - 14:27
#15
Så lige at jeg havde defineret den forkerte værdi ... hard ændret til følgende men får stadig samme fejl: intXSize = "563" Sub ResizeX (intXSize) Dim intYSize intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize end sub
11. juli 2003 - 20:25
#16
det er ikke nødvendigt at lave en sub... hvis du hiver højde, bredde og det ud du skal bruge kan du nøjes med et normalt regnestykke intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize fx... Det er ikke andet end matematik - plus, minus og gange. Og alt du behøver er højden og bredden på billedet som du kan læse vha aspimage også
12. juli 2003 - 11:57
#17
Det viker nu ... men jeg har lige tilføjet en if og nu ændre den ikke i størrelsen af nogle af billederne ... hvorfor? If Image.MaxX > "563" Then intXSize = "563" intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If
12. juli 2003 - 12:04
#18
prøv først at se om maxx i det hele taget kommer med et resultat; width = Image.MaxX response.write "og bredden er: " & width & "px."
12. juli 2003 - 13:06
#19
den skriver Image.MaxX ud som 0px: og bredden er: 0px. Og ikke de 1024 som jeg ved billedet er bred!
12. juli 2003 - 13:24
#20
hvilken type billede - gif?
15. juli 2003 - 08:25
#21
jpg ... men den skal kunne håndter både gif, jpg og bmp
15. juli 2003 - 08:31
#22
kom med lidt mere kode... jeg ved at gif ikke længere koster - men jeg tror endnu ikke at aspimage kan håndtere det format
15. juli 2003 - 08:36
#23
Der er ikke meget mere kode til at ændre i størrelsen men du kan da få hele min upload kode også: <% Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") width = Image.MaxX response.write "og bredden er: " & width & "px." Image.AutoSize = auto Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) If Image.MaxX > "563" Then intXSize = "563" intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage End If Set Image = nothing Response.Write "Filen er uploaded. <br><br>" & Upload.TotalBytes & " bytes blev uploadet på " & Upload.TotalSeconds & " sekunder.<br><br>" %>
15. juli 2003 - 09:23
#24
du kan jo heller ikke læse højden på et billede uden at det er læst ind. du skal have loadimage før width = Image.MaxX response.write "og bredden er: " & width & "px."
15. juli 2003 - 09:30
#25
ups ... der havde jeg sku lige klokket i det ... Nu skriver den: og bredden er: 800px.Filen er uploaded. Og det lader til at den virker ... checker det lige igennem med de forskellige typer billeder og størrelser
15. juli 2003 - 09:42
#26
Det var sku noget underlig noget ... nu virker det ikke igen ... men jeg syntes jo som sådan heller ikke at vi har ændre noget så hvorfor skulle det pludselig virke? Den melder ingen fejl men den ændre ikke i størrelsen på billederne.
15. juli 2003 - 09:46
#27
så prøv at udskriv nogle flere variabler undervejs - det er jo den eneste måde at lave fejlsøgning på... <% Set Upload = Server.CreateObject("Persits.Upload") Upload.ProgressID = Request.QueryString("PID") Upload.OverwriteFiles = False Count = Upload.SaveVirtual("/Pics/") For Each File in Upload.Files Set Image = Server.CreateObject("AspImage.Image") Image.AutoSize = auto Image.LoadImage(server.mappath("Pics/" & File.FileName & "")) width = Image.MaxX response.write "og bredden er: " & width & "px. <br>" If cint(width) > 563 Then response.write "så resizer vi" intXSize = "563" intYSize = (intXSize / Image.MaxX) * Image.MaxY response.write intXSize & "<br>" response.write intYSize & "<br>" Image.ResizeR intXSize, intYSize Image.FileName = server.mappath("Pics/" & File.FileName & "") Image.SaveImage else response.write "vi resizer ikke" End If Set Image = nothing Response.Write "Filen er uploaded. <br><br>" & Upload.TotalBytes & " bytes blev uploadet på " & Upload.TotalSeconds & " sekunder.<br><br>" %>
28. juli 2003 - 08:26
#28
Fik det til at virke ... smid et svar for point! Tak for hjælpen!
28. juli 2003 - 09:32
#29
ok - tnx
Kurser inden for grundlæggende programmering