webForumDet fria alternativet

AspUpload med två filer.

ASP

2 svar · 245 visningar · startad av Gunnar_B

Medlem sedan nov. 200528 inlägg
Frågan#1

Hoppas någon har en lösning på detta.

Jag har ett uppladdningsformulär för två bilder. Och filnamnet sparar jag i en databas.. men jag stötte på en liten bugg.
Om jag lämnar formulär-rutan1 i uppladdningsformuläret tomt så klassas ju formulär-rutan2 som 1 i scriptet nedanför. Eftersom jag då bara laddar upp en fil.

Man ska kunna ladda upp en bild i taget om man vill, fast jag vill att det ska hamna på rätt plats i databasen.

Så här ser koden ut:

<form action="enurl.asp" enctype="multipart/form-data" method="post">
<input type=file size=40 name="file1">
<input type=file size=40 name="file2">
<input type="submit" name="Submit" value="Skicka">
</form>
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = True
On Error Resume Next
Upload.SetMaxSize 1048576
Upload.Save

dim filnamn()
i = 0
For Each File in Upload.Files
	tempname1 = stripname(Upload.Form("fornamn"))
	tempname2 = stripname(Upload.Form("efternamn"))

	If i = 0 Then
		NewName = "bild1_" & tempname1 &"_"& tempname2
	Else
		NewName = "bild2_" & tempname1 &"_"& tempname2
	End If

	File.SaveAs "c:\upload\" & NewName & File.ext 
	Redim Preserve filnamn(i)
	filnamn(i) = File.FileName 
	i = i + 1
Next

Call dbOpen
strSQL = "UPDATE databas SET bild1 = '" & filnamn(0) & "', bild2 = '" & filnamn(1) & "' WHERE Nr = "& idnummer &""
minCon.execute strSQL,,128
Call dbClose()
Medlem sedan okt. 20041 556 inlägg
#2

Jag skulle göra en separat tabell för bilderna och koppla ihop medn tabellen "databas". Då slipper du dels det problemet och dels så kan du vid ett senare tillfälle tillåta fler bilder utan att behöva göra om i dina tabeller.

Medlem sedan nov. 200528 inlägg
#3

Löste det så här istället

	Set File = Upload.Files("FILE1")
	If File Is Nothing Then
		filnamn1 = ""
	Else
		tempname1 = stripname(Upload.Form("fornamn"))
		tempname2 = stripname(Upload.Form("efternamn"))
		NewName = "bild1_" & tempname1 &"_"& tempname2
		File.SaveAs "c:\upload\" & NewName & File.ext 
		filnamn1 = File.FileName 
	End If

	Set File = Upload.Files("FILE2")
	If File Is Nothing Then
		filnamn2 = ""
	Else
		tempname1 = stripname(Upload.Form("fornamn"))
		tempname2 = stripname(Upload.Form("efternamn"))
		NewName = "bild2_" & tempname1 &"_"& tempname2
		File.SaveAs "c:\upload\" & NewName & File.ext 
		filnamn2 = File.FileName 
	End If
288 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)