Sök lite..
Sök här på forumet. Det finns diskuterat mängder av gånger.
Samt så finns det färdig kod för uppladdning i scriptarkivet.
Lycka till
5 svar · 347 visningar · startad av Lorelie
Jag vill kunna ladda upp filer genom ett formulär på en hemsida. Filerna ska sedan öppnas som de är i ett nytt fönster (typ excel och word-dokument)
Det fungerar inte så bra dock...
Det enda som laddas upp är den lokala sökvägen i datorn, det är inte riktigt meningen. Det är meningen att vissa personer som har lösenord och användarnamn ska kunna ladda upp olika filer (sidan tillhör en ridklubb där man ska kunna ladda upp resultat från tävlingar mm).
Sidan där man laddar upp filen
<%option explicit
if isempty(session("MedlemsID")) then
response.redirect "Inlogin.asp"
response.end
end if
dim conn, data, sql
set conn = server.createobject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Resultat.mdb")
if request.form("Send")<>"" then
sql = "INSERT INTO Result(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 "Medlemsresultat.asp"
response.end
end if
%>
<html>
<head>
<title>Skaraborgs PonnySällskap</title>
<LINK rel="stylesheet" type="text/css" href="spsstil2.css">
</head>
<body>
<h1><BR> Nya Resultat</h1>
<table width="40%" border="0">
<form action="Nyresultat.asp" method="post">
<tr>
<td>Tävling (tex Lokal hoppning för ponny)</td>
</tr>
<tr>
<td><input name="Place" type="text"></td>
</tr>
<tr>
<td>Tid:(åååå-mm-dd tex 2001-03-06)</td>
</tr>
<tr>
<td><input name="Time" type="text"</td>
</tr>
<tr>
<td>Ladda upp resultatet</td>
</tr>
<tr>
<td><input type="file" name="Fil"></td>
</tr>
<tr>
<td><input name="Send" type="submit" value="Skicka">
<input name="Reset" type="reset" value="Återställ"></td>
</tr>
</form>
</table>
<p><a href="Medlemsresultat.asp">Tillbaka till resultaten</a></p>
<p><%=formatdatetime(date, vblongdate)%></p>
</body>
</html>
Här skrivs länken till den uppladdade filen
<a href="<%=data("File")%>"
Sök lite..
Sök här på forumet. Det finns diskuterat mängder av gånger.
Samt så finns det färdig kod för uppladdning i scriptarkivet.
Lycka till
Har sökt nu, hittade en som ser bra ut...
Men hur 17 ska jag få det att passa ihop med det jag har då?
Det här är vad jag hittade
<%
Option Explicit
Dim objUpload
Dim strName
dim objFile
Dim objFile2
Set objUpload = New overrUpload
strName = objUpload.Form("Place")
Response.Write("Textfield Place = " & strName)
Set objFile = objUpload.Form("File")
If objFile.IsFile Then
Call objFile.SaveToFile(Server.MapPath("/upload/" & objFile.Filename), True)
End If
Set objFile = Nothing
Set objFile2 = objUpload.Form("anotherFile")
If objFile2.IsFile Then
Call objFile2.SaveToFile(Server.MapPath("/upload/" & objFile2.Filename), True)
End If
set objFile2 = Nothing
Set objUpload = Nothing
%>
<!--#INCLUDE VIRTUAL="/classes/clsupload.asp"-->
Så här fick jag ihop det med min fil, men det blir bara sidan kan inte visas hela tiden. Varför?
<%option explicit
if isempty(session("MedlemsID")) then
response.redirect "Inlogin.asp"
response.end
end if
dim conn, data, sql
set conn = server.createobject("ADODB.Connection")
conn.open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("Resultat.mdb")
if request.form("Send")<>"" then
sql = "INSERT INTO Result(Plats, Datum, File) VALUES ('" & request.form("Place") & "', #" & request.form("Time") & "#, '" & request.form("File") & "')"
response.write sql
set data = conn.execute(sql)
end if
conn.close
if request.form("Send")<>"" then
response.redirect "Medlemsresultat.asp"
response.end
end if
%>
<html>
<head>
<title>Skaraborgs PonnySällskap</title>
<LINK rel="stylesheet" type="text/css" href="spsstil2.css">
</head>
<body>
<h1><BR> Nya Resultat</h1>
<form action="upload.asp" method="post" enctype="multipart/form-data" name="form1">
Tävling:
<input name="Place" type="text" id="place">
<br>
Datum:
<input name="Time" type="text" id="datum">
<BR>
Fil:
<input name="File" type="file" id="theFile">
<br>
<input type="submit" name="Submit" value="Save">
</form>
<p><a href="Medlemsresultat.asp">Tillbaka till resultaten</a></p>
<p><%=formatdatetime(date, vblongdate)%></p>
</body>
</html>
men det blir bara sidan kan inte visas hela tiden.
Börja med att stänga av "Egna http-felmeddelanden / Friendly http error messages" i Internet explorer, så kan du få ett bra felmeddelande.
Då blev det
Expected identifier
/upload.asp, line 18
Function GetFieldName(infoStr) ...
---> under pekar på prickarna
HEJ!
Eftersom du inte skrivet vilken rad det är på i din kod, gissar jag att du inte kan det heller, när jag ber dig.
Detta eftersom GetFieldName inte står någonstans på hela sidan.
En gissning är att du inte har denna funktion med, eller att infoStr inte innehåller något.
Kanske den ska innehålla file-value, filnamnet alltså?