webForumDet fria alternativet

Upload 5st bilder samtidigt?

5 svar · 281 visningar · startad av clacke

clackeMedlem sedan feb. 2003234 inlägg
#1

Jag vill kunna ladda upp 5st bilder samtidigt från ett formulär och samtidigt
lägga in filnamnen i databasen, den lägger in i databasen som den ska. Men den laddar bara upp 1 bild till servern, jag förstår
att det måste vara en loop på något sätt, men jag har inte någon koll på det.
Mycket tacksam för hjälp!

Set objUpload = New clsUpload
							' Grab the file name
	strFileName = Replace(objUpload.Fields("file1").FileName,"'","''")
	strFileName2 = Replace(objUpload.Fields("file2").FileName,"'","''")
	strFileName3 = Replace(objUpload.Fields("file3").FileName,"'","''")
	strFileName4 = Replace(objUpload.Fields("file4").FileName,"'","''")
	strFileName5 = Replace(objUpload.Fields("file5").FileName,"'","''")
	
	
	marke = Replace(objUpload.Fields("marke").Value,"'","''")
	modell = Replace(objUpload.Fields("modell").Value,"'","''")
	regnr = Replace(objUpload.Fields("regnr").Value,"'","''")
	arsmodell = Replace(objUpload.Fields("arsmodell").Value,"'","''")
	mil = Replace(objUpload.Fields("mil").Value,"'","''")
	farg = Replace(objUpload.Fields("farg").Value,"'","''")
	utrustning = Replace(objUpload.Fields("utrustning").Value,"'","''")
	info = Replace(objUpload.Fields("info").Value,"'","''")
	pris = Replace(objUpload.Fields("pris").Value,"'","''")
	nyttpris = Replace(objUpload.Fields("nyttpris").Value,"'","''")
	evenemang = Replace(objUpload.Fields("evenemang").Value,"'","''")
	sald = Replace(objUpload.Fields("arsmodell").Value,"'","''")
	onpage = Replace(objUpload.Fields("onpage").Value,"'","''")

	
	' Compile path to save file to
	strPath = Server.MapPath("images") & "\" & strFileName
	
	' Save the binary data to the file system
	objUpload("file1").SaveAs strPath
	objUpload("file2").SaveAs strPath
	objUpload("file3").SaveAs strPath
	objUpload("file4").SaveAs strPath
	objUpload("file5").SaveAs strPath
	
	
	' Release upload object from memory
	Set objUpload = Nothing
	
	
	
		dat = date()
		'sql= "INSERT INTO bilar(marke,modell,regnr,arsmodell,mil,farg,utrustning,pris,nyttpris,evenemang,info,image1,image2,image3,image4,image5,onpage,datum,sald) VALUES ('"& marke &"','"& modell &"','"& regnr &"','"& arsmodell &"','"& mil &"','"& farg &"','"& utrustning &"','"& pris &"','"& nyttpris &"','"& evenemang &"','"& info &"','"& images(0) &"','"& images(1) &"','"& images(2) &"','"& images(3) &"','"& images(4) &"','"& onpage &"','"& dat &"','"& sald &"');"
		'conn.Execute (sql)
	
		'sql= "INSERT INTO bilar(marke,modell,regnr,arsmodell,mil,farg,utrustning,pris,nyttpris,evenemang,info,image1,image2,image3,image4,image5,onpage,datum,sald) VALUES ('"& marke &"','"& modell &"','"& regnr &"','"& arsmodell &"','"& mil &"','"& farg &"','"& utrustning &"','"& pris &"','"& nyttpris &"','"& evenemang &"','"& info &"','"& strFileName &"','"& strFileName2 &"','"& strFileName3 &"','"& strFileName4 &"','"& strFileName5 &"','"& onpage &"','"& dat &"','"& sald &"');"
		'conn.Execute (sql)
Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Något liknande kanske:

For each file In objUpload.Files
'Gör det du måste
next
clackeMedlem sedan feb. 2003234 inlägg
#3

Funkar tyvärr inte, får felmeddelande:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01B6)
Objektet stöder inte egenskapen eller metoden.: 'files'
PDahlenMedlem sedan apr. 2004778 inlägg
#4

Vad är clsUpload för objekt då? För att ladda upp filer med ASP så behöver du en tredje-parts komponent, t.ex. SAFileUP eller liknande. I komponenternas manualer finns det alltid exempel på det du söker.

PDahlenMedlem sedan apr. 2004778 inlägg
#5

En annan sak jag ser i din kod är

' Compile path to save file to
	strPath = Server.MapPath("images") & "\" & strFileName
	
	' Save the binary data to the file system
	objUpload("file1").SaveAs strPath
	objUpload("file2").SaveAs strPath
	objUpload("file3").SaveAs strPath
	objUpload("file4").SaveAs strPath
	objUpload("file5").SaveAs strPath

Du sätter strPath till första filnamnet och sen sparar du alla filerna till det namnet. Du måste ändra strPath mellan varje fil.

clackeMedlem sedan feb. 2003234 inlägg
#6

Så rätt så rätt! Tack, det fixade sig med:

	' Compile path to save file to
	strPath = Server.MapPath("images") & "\" & strFileName
	strPath2 = Server.MapPath("images") & "\" & strFileName2
	strPath3 = Server.MapPath("images") & "\" & strFileName3
	strPath4 = Server.MapPath("images") & "\" & strFileName4
	strPath5 = Server.MapPath("images") & "\" & strFileName5
	
	' Save the binary data to the file system
	objUpload("file1").SaveAs strPath
	objUpload("file2").SaveAs strPath2
	objUpload("file3").SaveAs strPath3
	objUpload("file4").SaveAs strPath4
	objUpload("file5").SaveAs strPath5
131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)