Just nu i M3-nätverket
Gå till innehåll

Cannot use Request.Form collection after calling B


SteveP

Rekommendera Poster

Jag använder mig av ett upload script och får det error meddelandet när jag försöker köra

namn = Request.form("namn")

Jag har också testat med:

namn = Upload.Form("namn")

 

men får då meddelandet:

Object required: 'Upload'

 

Själva filuppladningen funkar alltså perfekt. Problemet är när jag ska lägga till namn i ett fält och sen in i db'n.

Alltså en vanlig form som man kör till nyheter osv.

 

Min kod ser ut såhär

Kod:

 

 

--------------------------------------------------------------------------------

 

<%

' Author Philippe Collignon

' Email PhCollignon@email.com

Response.Expires=0

Response.Buffer = TRUE

Response.Clear

'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))

byteCount = Request.TotalBytes

'Response.BinaryWrite(Request.BinaryRead(varByteCount))

 

RequestBin = Request.BinaryRead(byteCount)

Dim UploadRequest

Set UploadRequest = CreateObject("Scripting.Dictionary")

 

BuildUploadRequest RequestBin

 

'email = UploadRequest.Item("email").Item("Value")

 

contentType = UploadRequest.Item("blob").Item("ContentType")

filepathname = UploadRequest.Item("blob").Item("FileName")

filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))

value = UploadRequest.Item("blob").Item("Value")

 

namn = Upload.Form("namn")

'Ta emot

 

 

set Conn=server.createobject("adodb.connection")

path="DBQ=" & server.mappath("DB.mdb")

conn.open "driver={microsoft access driver (*.mdb)}; " & path," ",""

SQL = "Select * from pages"

set Rs = Server.CreateObject("ADODB.Recordset")

Rs.Open sql, conn, 3, 3

 

Rs.Addnew

 

RS("namn") = namn

RS("blob") = "test/" & filename

Rs.Update

 

Rs.close

Conn.close

 

 

'Create FileSytemObject Component

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

 

'Create and Write to a File

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14

' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)

Set MyFile = ScriptObject.CreateTextFile(Server.mappath("test/"&filename))

response.write(Server.mappath(filename))

 

 

For i = 1 to LenB(value)

MyFile.Write chr(AscB(MidB(value,i,1)))

Next

 

MyFile.Close

%>

<b>Uploaded file : </b><%=filename%><BR>

<img src="test/<%=filename%>">

<!--#include file="upload.asp"-->

Länk till kommentar
Dela på andra webbplatser

Problemet är att om du skickar en file upload så ligger inte formulär fälten på samma sätt som i en vanlig form POST.

 

Upladdnings komponenter löser detta med att erbjuda en egen "request.form" collection, hur det funkar i ditt script får du nog fråga den som från början gjort scriptet.

 

Som jag sagt förrut på detta forum så bör man av en mängd skäl, främst prestanda, inte använda sig av ett rent script vid upladdning.

 

Har du inte tillgång till en komponent du kan använda istället ? Skulle nog lösa många av dina problem.

 

Länk till kommentar
Dela på andra webbplatser

Då detta ska användas till ett mindre system så spelar inte prestandan så stor roll.

Sen får jag lära mig en del saker under den tiden jag försöker lösa allt.

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Ok, om inte den som gjort scriptet parsar ut form fälten så får du nog göra det själv.

 

Följde det inte med någon form av dokumentation till upload scriptet du använder ?

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...