webForumDet fria alternativet

Mer ASP.image strul

ASP

7 svar · 422 visningar · startad av TomKarl

Medlem sedan okt. 200720 inlägg
Frågan#1

Hej!

Jag får:

Microsoft VBScript runtime error '800a01a8'
Object required: ''
/hammare/test/test/ndo_upload.asp, line 113

Set Image = Server.CreateObject("AspImage.Image") 
Image.LoadImage(Server.MapPath("../uploadedimg/" & File.Filename ))   [B]<--- line 113[/B] 
Image.FileName = (Server.MapPath("../uploadedimg/" & File.Filename )) 
Image.ImageFormat = 1 
Image.JPEGQuality = 90 
divX = Image.MaxX / 440 
divY = Image.MaxY / 440 
intXsize = Image.MaxX / divx 
intYSize = Image.MaxY / divx 
Image.ResizeR intXSize,intYSize 
Image.SaveImage 
Set Image = Nothing

Vad kan det bero på? ASP.image finns på servern. Har hållit på flera dagar nu med detta *suck*
Mera av koden:


                        
                        Set addNewRS = Server.CreateObject("ADODB.Recordset")
                        SQLeftl = "SELECT * FROM TBL_Projekt"
                        addNewRS.Open SQLeftl, Conn, 3, 3

			addNewRS.AddNew ' create a new record

		        ' Check if any files were uploaded
                        If  Not Uploader.Files.Count = 0 Then
                        
                       	' Loop through the uploaded files
                        For Each File In Uploader.Files.Items
                        
                        
                        
                        
                        extension = right(File.FileName,4)

			 File.FileName = "projekt_" & NyttNamn & extension
                        
       
			' Save the file			
			File.SaveToDisk server.mappath ("../uploadedimg/")
			      
			addNewRS("Pro_Rubrik") = File.FileName
			
			Next
			
			End If
			
				
			' Commit the changes and close
			addNewRS.Update
			
			
		addNewRS.Close					
 		Set addNewRS=Nothing
 		Conn.Close
		Set Conn=Nothing
		

Set Image = Server.CreateObject("AspImage.Image") 
Image.LoadImage(Server.MapPath("../uploadedimg/" & File.Filename )) 
Image.FileName = (Server.MapPath("../uploadedimg/" & File.Filename )) 
Image.ImageFormat = 1 
Image.JPEGQuality = 90 
divX = Image.MaxX / 440 
divY = Image.MaxY / 440 
intXsize = Image.MaxX / divx 
intYSize = Image.MaxY / divx 
Image.ResizeR intXSize,intYSize
Image.SaveImage 
Set Image = Nothing

/Tomas

Medlem sedan juni 200032 967 inlägg
#2

Hej!

Vore mysigt om du använder [kod]-taggar när du postar kod - så blir det mycket lättare för oss att läsa - och därmed lättare att hjälpa.

Felmeddelandet betyder sannolikt att ett objekt du försöker använda helt enkelt inte finns. Jag skulle tro att det beror på att File inte längre finns - det objektet existerar nog inte utanför din for each-slinga.

Medlem sedan jan. 20011 154 inlägg
#3

Du har inte initierat objektet File som du hänvisar till i File.Filename

Medlem sedan okt. 200720 inlägg
#4

@nders skrev:

Hej!

Vore mysigt om du använder [kod]-taggar när du postar kod - så blir det mycket lättare för oss att läsa - och därmed lättare att hjälpa.

Felmeddelandet betyder sannolikt att ett objekt du försöker använda helt enkelt inte finns. Jag skulle tro att det beror på att File inte längre finns - det objektet existerar nog inte utanför din for each-slinga.

Kod taggar fixat. Om jag stoppar in filnamnet i ex. en session innaför for-each slingan skulle det kunna funka då?

Medlem sedan okt. 200720 inlägg
#5

jonne skrev:

Du har inte initierat objektet File som du hänvisar till i File.Filename

Hur gör jag det?

Medlem sedan juni 200032 967 inlägg
#6

Kod taggar fixat. Om jag stoppar in filnamnet i ex. en session innaför for-each slingan skulle det kunna funka då?

Du menar inuti? Ja - men det är onödigt att använda sessionsvariabler till det. Det räcker med att spara det i en vanlig variabel.

Medlem sedan jan. 20011 154 inlägg
#7

Nu vet jag inte riktigt vad du använder för komponenter men File initierar du på samma sätt som du gör med exv ditt Imageobjekt:

Set Image = Server.CreateObject("AspImage.Image")

Om du har en uploadkomponent som du använder tillsammans med detta så skulel det kunna vara något i stil med:

   ' Obtain File object representing uploaded file
  Set File = Upload.Files(1)

(från 2:a exemplet på http://www.aspjpeg.com/manual_03.html)

Medlem sedan okt. 200720 inlägg
#8

Funkar nu!

Tack för hjälpen! Nu äntligen funkar det.

Fick lägga File.FileName i en variabel och ändra

Image.LoadImage(Server.MapPath("../uploadedimg/" & File.Filename )) 
Image.FileName = (Server.MapPath("../uploadedimg/" & File.Filename ))

till

Image.LoadImage(Server.MapPath("../uploadedimg/" & Filnamnet )) 
Image.FileName = (Server.MapPath("../uploadedimg/" & "thmb_" & Filnamnet ))
258 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)