12. december 2006 - 20:36
Der er
3 kommentarer og 1 løsning
Resize af billede giver problemer
Hej Eksperter Jeg har programmeret et fotoalbum for længe siden og har siden ikke lejet med asp, siden har virket upåklageligt indtil cirka dags dato. Når jeg nu vil uploade et billede til galeriet får jeg denne fejl. Microsoft VBScript runtime error '800a000b' Division by zero /ds-web/admin/do_knyt_album.asp, line 37 Herunder er koden hvori fejlen sker. ---------- Start ------------ Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede Image.FileName = Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & MyArray(2) Image.ImageFormat = 1 Image.JPEGQuality = 90 Sub ResizeX (intXSize) Dim intYSize /linje 37/ intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize end sub Sub ResizeY (intYSize) Dim intXSize intXSize = (intYSize / Image.MaxY) * Image.MaxX Image.ResizeR intXSize, intYSize end sub call ResizeX(400) IMAGE.SaveImage Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede Image.FileName = Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & "small_" & MyArray(2) Image.ImageFormat = 1 Image.JPEGQuality = 90 call ResizeX(150) IMAGE.SaveImage Conn.Close Set Conn = Nothing ---------- Slut ---------- Kan nogen hjælpe mig vil jeg være taknemlig.
Annonceindlæg fra HP
12. december 2006 - 21:03
#1
har du prøvet kun med et billede eller med flere? fejlen siger et eller andet sted sig selv - nemlig at du ikke må dividere med 0. Hvorfor den gør det kan der være flere grunde til, mest nærliggende at dimensionerne på billedet ikke kan læses eller et det ikke er et billede.
12. december 2006 - 21:42
#2
jeg er ret sikker på at fejlen ligger i disse linier: Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede Image.FileName = Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & MyArray(2) er du helt sikker på at billedet ligger i den mappe du pejer på? hmm... faktisk mangler du en / i den første linie umiddelbart... Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede prøv at rette ovenstående linie til: Image.LoadImage Server.MapPath("..\..\billeder\") & StrBillede
13. december 2006 - 02:10
#3
Ehm, jeg har ikke inkluderet hele asp koden, men kun den del hvor i fejlen lå. <!-- #INCLUDE FILE="db_open.asp" --> <% Dim StrTekst, StrId, StrBillede, MyArray StrTekst = Request.Form("tekst") StrId = Request.QueryString("pict_id") Sql = "Update gal_pict set " Sql = Sql & "tekst= '" & StrTekst & "'" Sql = Sql & " where id= '" & StrId & "'" Conn.Execute(Sql) Sql = "select billede from gal_pict where id=" & StrId Set rs = conn.execute(Sql) StrBillede = rs("billede") MyArray = Split(rs("billede"),"/") 'response.write Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & MyArray(2) 'Conn.Close 'Set Conn = nothing 'response.end Dim Image, IntYSize, IntXSize Set Image = Server.CreateObject("AspImage.Image") Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede Image.FileName = Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & MyArray(2) Image.ImageFormat = 1 Image.JPEGQuality = 90 Sub ResizeX (intXSize) Dim intYSize intYSize = (intXSize / Image.MaxX) * Image.MaxY Image.ResizeR intXSize, intYSize end sub Sub ResizeY (intYSize) Dim intXSize intXSize = (intYSize / Image.MaxY) * Image.MaxX Image.ResizeR intXSize, intYSize end sub call ResizeX(400) IMAGE.SaveImage Image.LoadImage Server.MapPath("..\..\billeder") & StrBillede Image.FileName = Server.MapPath("..\..\billeder\") & "\" & MyArray(1) & "\" & "small_" & MyArray(2) Image.ImageFormat = 1 Image.JPEGQuality = 90 call ResizeX(150) IMAGE.SaveImage Conn.Close Set Conn = Nothing response.redirect "album_upload.asp" %> Måske det han kaste mere lys/mørke over sagen. Husk at det har kørt uden problemer, og jeg har ikke ændret noget på siden.
17. december 2006 - 10:25
#4
Billed komponenten på Serveren var i stykker. Administratoren geninstallerede den og så kørte scriptet igen.
Kurser inden for grundlæggende programmering