webForumDet fria alternativet

Ladda upp fil

ASP

5 svar · 347 visningar · startad av Lorelie

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

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>&nbsp;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="&Aring;terst&auml;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")%>"
Medlem sedan dec. 20014 239 inlägg
#2

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

Medlem sedan juni 2005264 inlägg
#3

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>&nbsp;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>
Medlem sedan juni 200032 967 inlägg
#4

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.

Medlem sedan juni 2005264 inlägg
#5

Då blev det

Expected identifier

/upload.asp, line 18

Function GetFieldName(infoStr) ...

---> under pekar på prickarna

Medlem sedan apr. 20031 660 inlägg
#6

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å?

282 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
145 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)