webForumDet fria alternativet

Akuthjälp behövs... Uppladdningsformulär

ASP

17 svar · 697 visningar · startad av Lorelie

Medlem sedan juni 2005264 inlägg
Frågan#1

Har frågat er förut, och fått jättebra svar med länkar osv, men jag får ändå inte ihop något :(
Jag försöker få ett uppladdningsformulär att fungera, man ska kunna ladda upp en fil som sedan ska synas när man klickar på länken. Så långt fungerar allt bra, MEN, filen laddas inte upp, utan den lokala sökvägen skrivs in i databasen.
Hur ska jag få detta att inte hända? Utan ladda upp filen "på riktigt"?
Jag har kört fast totalt, och kört själförtroendet för asp i botten, men skulle behöva ha detta till att fungera innan 18/8 =S

Medlem sedan juni 200032 967 inlägg
#2

Har du med enctype="multipart/form-data" i din <form>-tagg? Utan den skickas inte filen upp, utan bara en sökväg.

Medlem sedan juni 2005264 inlägg
#3

Skrev dit det nu, men då hände ingenting =S
Inga uppgifter las in..

Ska det se ut såhär?

<form action="Nyryttarmeddelande.asp" method="post" enctype="multipart/form-data">
Medlem sedan juni 200032 967 inlägg
#4

Då får du visa koden du använder för att ta emot filen / värdena. Använder du någon komponent för att ta emot filerna eller använder du ett uppladdningsscript?

Medlem sedan juni 2005264 inlägg
#5

Detta?

set conn = server.createobject("ADODB.Connection")
	conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Ryttarmeddelande.mdb")

		if request.form("Send")<>"" then

		sql = "INSERT INTO RyttarMD (Plats, Datum, File) VALUES ('" & request.form("Place") & "', #" & request.form("Time") & "#, '" & request.form("Fil") & "')"
		response.write sql
		set data = conn.execute(sql)
		end if

	conn.close

		if request.form("Send")<>"" then
		response.redirect "Medlemsryttarmeddelande.asp"
		response.end
		end if
Medlem sedan juni 200032 967 inlägg
#6

Du kan inte ta emot en fil på det sättet.
Du måste använda antingen en uppladdningskomponent, exempelvis ASPSmartUpload eller ASPUpload, eller ett script likt detta.

Mvh

Medlem sedan juni 2005264 inlägg
#7

Jo, det fick jag till svar förra gången också, och jag har exprimenterat fram och tillbaka med tex länken du visade, men jag får det inte att fungera alls =( Raderade alla de filerna i ren frustration för ett tag sen :l

Medlem sedan juni 200032 967 inlägg
#8

Det du fick till svar förra gången gäller även denna gång. ;)

Har du inte tillgång till någon uppladdningskomponent? Brukar bli mindre kod och mer lättöverskådligt då.

Kör du på egen maskin, eller använder du webhotell? Vilket?

Medlem sedan juni 2005264 inlägg
#9

Det förstår jag med:OO Men att sen genomföra det =S

Sidan ligger hos Bluerange

Medlem sedan juni 200032 967 inlägg
#10

Enligt den här sidan finns exempelvis ASPSmartUpload att tillgå. Den använder jag själv och tycker att det är en trevlig komponent som är lätt att komma överens med.

Titta på de enkla exemplen här.

Mvh

Medlem sedan juni 2005264 inlägg
#11

Här

set conn = server.createobject("ADODB.Connection")
	conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Ryttarmeddelande.mdb")
[KOD]

Ska jag byta ut det mot 
[KOD]set conn = server.createobject("Bluerange.ASPUpload")
	conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Ryttarmeddelande.mdb")

eller ska jag ta bort allt efter ("Bluerange.ASPUpload")?

Jag vill ju ha in lite inskriven info också, inte bara filen

Medlem sedan juni 200032 967 inlägg
#12

Nej, ändra inte på någon av din databaskod till att börja med.

Följ bara exemplen hos bluerange eller aspsmartuploads sida så du får uppladdningen att fungera, sedan kan du knyta ihop det till databas-scriptet.

Medlem sedan juni 2005264 inlägg
#13

Usch vad jag känner mig DUM :( Fattar ingenting...
Detta är alldeles för svårt för mig igentligen =(

Medlem sedan juni 2005264 inlägg
#14

Det här går verkligen inte, det bara krånglar och krånglar =S Måste ha det här klart senast torsdag förmiddag =S
NÅGON som kan tänka sig att hjälpa mig lite mer än bara ge en länk ?

Medlem sedan apr. 20031 660 inlägg
#15

HEJ!

Utgå från kodexemplet #5 med fil och annan data, http://www.aspsmart.com/scripts/aspSmartUpload/publigen/content/templates/show.asp?P=258&L=EN#5. Lite onödigt, eftersom du kan lägga upp flera filer, men de har ingen enklare.

OM du endast lägger upp filer, titta på #1 istället, även om det också är flera filer på samma gång.
Lite dålig dokumentation, anser jag, borde finnas en grundläggande också.
Det finns kanske kodexempel på wF, eller varför inte byta till FSO istället, som fungerar på samma sätt, men kod finns här.

Tror också att du (troligtvis) inte vill spara filen i databasen, endast filnamnet. När du sedan gör filen länkbar, hämtar du namnet därifrån på vanligt sätt, och länkar sökvägen till foldern där du laddar upp filerna.

Lös problemet på enklaste sätt; lägga upp filen först, så att du vet att den finns, sedan sparar du filnamnet i databasen, dvs lös en sak i sänder.
För ovana är det enklast.

Medlem sedan juni 2005264 inlägg
#16

Tackar =)

Har tittat på länken du skickade, men fattar tyvärr ingenting ändå :( Antar att jag ska byta ut saker i det scriptet så det passar mig? Men jag vet inte vad som ska bytas mot vad isf :q

Bara att erkänna, jag har inte lärt mig någonting om asp den terminen jag läste det på högskolan... Ändå gick jag därifrån med vg i betyg, hur det nu gick till =S

Någon som kan tänka sig att göra den här grejjen åt mig?
Jag betalar *desperat*

Medlem sedan dec. 19996 721 inlägg
#17
set conn = server.createobject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Ryttarmeddelande.mdb")

set objUpload=Server.CreateObject("Bluerange.ASPUpload")

if objUpload.form("Send")<>"" then

strFileName = form.RemoteFileName("Fil")
nFindSlash = InStrRev(strFileName, "\")
If nFindSlash>0 Then
strFileName = Mid(strFileName, nFindSlash+1)
End If

sql = "INSERT INTO RyttarMD (Plats, Datum, File) VALUES ('" & replace(objUpload.form("Place"),"'","''") & "', #" & replace(objUpload.form("Time"),"'","''") & "#, '" & replace(strFileName ,"'","''") & "')"

response.write sql
set data = conn.execute(sql)

objUpload.Save "Bild", "/bilder/" & strFileName 
end if

conn.close

if objUpload.form("Send")<>"" then
response.redirect "Medlemsryttarmeddelande.asp"
response.end
end if
Medlem sedan juni 2005264 inlägg
#18

Tack så kanonmycket =D

Resultatet blev detta: http://www.skaraborgsps.org/test/Nyryttarmeddelande.asp

Stämmer inte riktigt, det blir den lokala sökvägen efter hemsideadressen.

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)