webForumDet fria alternativet

Ladda upp flera filer i AspUpload?

ASP

14 svar · 434 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1
Medlem sedan sep. 20026 425 inlägg
#2

Till en början kan du döpa om dina textareor till mer än bara "beskriv" som alla heter nu. Döp dem till beskriv2, beskriv3 m.m. och ta emot info från de fälten i formuläret med hjälp av Request.Form.

Medlem sedan nov. 20031 018 inlägg
#3

Har ändrat namnen till beskriv2, beskriv3 osv. men den skriver fortfarande bara in fältet "beskriv1" i alla rader.

Medlem sedan sep. 20026 425 inlägg
#4
Set beskriv = [i]Request.Form[/i]("beskriv")

Du får nog kanske sätta in info i databasen 4 ggr.. Ändra bara beskriv till beskriv2, beskriv3 etc. i SQL-frågan.

Medlem sedan nov. 20031 018 inlägg
#5

Och hur gör jag det?

Medlem sedan juni 200032 967 inlägg
#6

Utan att besvara den egentliga frågan:

Man ska inte använda Set till vanliga variabler, utan endast till objekt.

Dessutom; m_soderlund: man får inte använda Request.Form när man laddar upp filer, utan det är korrekt med Upload.form som Bosse168 har i sin kod.

Medlem sedan sep. 20026 425 inlägg
#7

Exekvera en SQL-fråga 4 ggr.

Cn.Execute("INSERT INTO extreme_pic (bildID,catID,rubrik,beskrivning,slaf,storlek,datum) VALUES('"& antal &"',"& catID &",'"& Replace(rubrik,"'","''") &"','"& Replace(beskriv,"'","''") &"','"& Session("username") &"','"& Round((File.Size / 1024), 1) &"','"& Now() &"')")

Byt ut beskriv till beskriv2 etc. för varje ny SQL-fråga. Alltså, ungefär så här:

Cn.Execute("fråga1")
Cn.Execute("fråga2")
Cn.Execute("fråga3")
Cn.Execute("fråga4")

Inte prestandavänligt, men men..

Medlem sedan sep. 20026 425 inlägg
#8

Ah, @nders! :bire

Strunta i det jag skrivit kring Request.Form och Upload.Form. ;)

beskriv = Upload.Form("beskriv")
beskriv2 = Upload.Form("beskriv2")
beskriv3 = Upload.Form("beskriv3")
beskriv4 = Upload.Form("beskriv4")

SQL-frågor:

Cn.Execute("fråga 1 med beskriv")
Cn.Execute("fråga 2 med beskriv2")
Cn.Execute("fråga 3 med beskriv3")
Cn.Execute("fråga 4 med beskriv4")
Medlem sedan nov. 20031 018 inlägg
#9

Men hur blir det när det inte laddas upp 4 bilder utan bara 2?
Och jag förstår inte alls vad du menar med:

Cn.Execute("fråga 1 med beskriv")
Cn.Execute("fråga 2 med beskriv2")
Cn.Execute("fråga 3 med beskriv3")
Cn.Execute("fråga 4 med beskriv4")

Medlem sedan nov. 20031 018 inlägg
#10

Det funkar inte att göra så den lägger ju till hur många rader som helst. även dom som inte är ifyllda.

Medlem sedan nov. 20031 018 inlägg
#11

Ingen som vet hur man kan ladda upp flera bilder samtidigt? :(

Medlem sedan sep. 20026 425 inlägg
#12

Det är bara att lägga till fler fält där man kan välja en fil som ska laddas upp. När du laddar upp så kör du kod som laddar upp filer från alla fält som inte är noll.

Medlem sedan nov. 20031 018 inlägg
#13

Det gör koden redan

For Each File in Upload.Files

Kruxet är ju att den bara hämtar fältet "beskriv1".

Medlem sedan sep. 20026 425 inlägg
#14

Kan detta fungera?

dim i
i = 1
For Each File in Upload.Files 
[b]i = i +1[/b]
'---------------- Namnet  SLUT ----------------
catID = Upload.Form("catID")
rubrik = Upload.Form("rubrik")
beskriv = Upload.Form([b]"beskriv" & i,[/b])
'--------------------------------------

Connect.Execute("INSERT INTO extreme_pic (bildID,catID,rubrik,beskrivning,slaf,storlek,datum) VALUES('"& antal &"',"& catID &",'"& Replace(rubrik,"'","''") &"','"& Replace(beskriv,"'","''") &"','"& Session("username") &"','"& Round((File.Size / 1024), 1) &"','"& Now() &"')")

if Err <> 0 Then 
Response.Write "Fel vid uppladdning: " & Err.Description 
Else 
File.Delete 
Response.Write "Success!<br>" 
End If 
Next

Beroende på vilken bild som laddas upp så kommer värdet från rätt formulärfält att tas emot. Variabeln i har värdet fil nr x som laddas upp, där x exempelvis är 3 om bild 3 för närvarande håller på att laddas upp. Detta kräver att dina formulärfält heter beskriv1, beskriv2, beskriv3 resp. beskriv4. :)

En sak till - inget fält i ditt formulär heter rubrik. Varifrån hämtar du den infon? Är det egentligen input-fälten som heter file1, file2, file3 och file4 som det är meningen att information ska tas emot från? Om så är fallet så ska du i stället för

rubrik = Upload.Form("rubrik")

skriva

rubrik = Upload.Form("file" & (i-1))

Hoppas att du nu förstår. :)

Medlem sedan aug. 2002218 inlägg
#15

Hej,

Hur gick det med att ladda upp flera filer samtidigt?
Kan du dela med oss eller?

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)