01. maj 2003 - 20:03Der er
11 kommentarer og 2 løsninger
komprimering af jpg-fil virker ikke
Hej
Når jeg kører nedenstående script, siger den:
størrelse: 21580 er færdigkomprimeret 0
Det var ikke meningen, den skulle i stedet havde skrevet en værdi, som er under 10000.
_________________________________________
Set FS = CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath (strNavn)
Set Image = Server.CreateObject("AspImage.Image")
Set newfile = FS.GetFile(FileName)
If inStr(strNavn, ".jpg") or inStr(strNavn, ".jpeg") then do while newfile.size > 10000 response.write "<br>størrelse: " & newfile.size Image.JPEGQuality = 80 Image.FileName = (FileName) Image.SaveImage loop response.write "<br>er færdigkomprimeret " & newfile.size else sendBack("Billedet var for stort og kunne ikke gøres mindre, da der ikke er tale om en JPG-fil") end if
Set Image = nothing
_________________________________
Meningen med scriptet er, at det skal komprimere en jpg indtil filen kommer under 10kb. Kan du udbygges mit script, så det virker?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Det var ikke meningen... = Det var ikke meningen, at "færdigkomprimeret" skulle havde skrevet en værdi, som er under 10000. Men den skriver fejlagtigt nul.
Her kommer lige den seneste kode - men problemstillingen er stadig den samme:
function setSize(strNavn)
Set FS = CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath (strNavn)
Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage(FileName) 'Er koblet fra for at teste om scriptet overhovedet kan komprimere 'Image.resize 80, 100 Image.FileName = (FileName) Image.SaveImage
Set newfile = FS.GetFile(FileName)
If inStr(strNavn, ".jpg") or inStr(strNavn, ".jpeg") then do while newfile.size > 10000 response.write "<br>størrelse: " & newfile.size Image.JPEGQuality = 80 Image.FileName = (FileName) Image.SaveImage loop response.write "<br>er færdigkomprimeret " & newfile.size else sendBack("Billedet var for stort og kunne ikke gøres mindre, da der ikke er tale om en JPG-fil") end if
jeg har også prøvet at indsætte en wait-sætning, men det virker heller ikke... hjælp!!!!
function setSize(strNavn)
Set FS = CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath (strNavn)
Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage(FileName) 'Er koblet fra for at teste om scriptet overhovedet kan komprimere 'Image.resize 80, 100 Image.FileName = (FileName) Image.SaveImage
Set newfile = FS.GetFile(FileName)
If inStr(strNavn, ".jpg") or inStr(strNavn, ".jpeg") then do while newfile.size > 10000 response.write "<br>størrelse: " & newfile.size Image.JPEGQuality = 80 Image.FileName = (FileName) for intloop=1 to 10000000 next Image.SaveImage for intloop=1 to 10000000 next loop response.write "<br>er færdigkomprimeret " & newfile.size else sendBack("Billedet var for stort og kunne ikke gøres mindre, da der ikke er tale om en JPG-fil") end if
Set FS = CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath (strNavn)
Set Image = Server.CreateObject("AspImage.Image")
Set newfile = FS.GetFile(FileName) fsize = newfile.size
If inStr(strNavn, ".jpg") or inStr(strNavn, ".jpeg") then do while fsize > 10000 response.write "<br>størrelse: " & newfile.size Image.JPEGQuality = 80 Image.FileName = (FileName) Image.SaveImage
set newfile = nothing Set newfile = FS.GetFile(FileName) fsize = newfile.size
loop response.write "<br>er færdigkomprimeret " & fsize else sendBack("Billedet var for stort og kunne ikke gøres mindre, da der ikke er tale om en JPG-fil") end if
set newfile = nothing ' måske virker denne forsinkelse i = 0 for i = 1 to 10000 doevents loop
Set newfile = FS.GetFile(FileName) fsize = newfile.size
loop response.write "<br>er færdigkomprimeret " & fsize else sendBack("Billedet var for stort og kunne ikke gøres mindre, da der ikke er tale om en JPG-fil") end if
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.