Det fungerar bättre om du ändrar raderna:
RecSet("fltKommentar") = Request.Form("comment")
till:
RecSet("fltKommentar") = UploadRequest.Item("comment").Item("Value")
2 svar · 191 visningar · startad av perra
Tja får följande felmeddelande:
Feltyp:
Request-objekt, ASP 0207 (0x80004005)
Det går inte att använda samlingen Request.Form efter att BinaryRead har anropats.
/svp97/galleri/outputFile.asp, line 48
outputFile.asp ser ut som följer:
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
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")
'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)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
filePath = Server.MapPath("../svp97.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set RecSet = Server.CreateObject("ADODB.Recordset")
Laggtill = "SELECT * FROM tblGalleri"
RecSet.Open Laggtill, Connection, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("fltBildfil") = filename
RecSet("fltKommentar") = Request.Form("comment") <-- Här blir det fel!!!!
RecSet("fltWidth") = Request.Form("width")
RecSet("fltHeight") = Request.Form("height")
RecSet("fltDatum") = dateadd("h", 6, now())
RecSet("fltInskickadav") = Session("UserID")
RecSet.Update
RecSet.Close
Connection.Close
Response.Redirect "..\galleri.asp"
%>
<!--#include file="upload.asp"-->
mitt formulär som fylls i är av typen
<FORM METHOD="Post" ENCTYPE="multipart/form-data" ACTION="outputFile.asp">
<INPUT TYPE="file" NAME="blob" STYLE="width: 250px;">
<INPUT TYPE="text" NAME="width">
</FORM>
Det verkar alltså som jag inte kan komma åt request.form("width") för att det krockar med filen jag skickar in!?
Har jag fel formulär typ?
Är det nån som förstår?
hjälp!
[Redigerat av perra den 21 mar 2001]
[Redigerat av perra den 21 mar 2001]
Det fungerar bättre om du ändrar raderna:
RecSet("fltKommentar") = Request.Form("comment")
till:
RecSet("fltKommentar") = UploadRequest.Item("comment").Item("Value")
Tackar hakangus!
Ännu en gång har man fått bekräftelse på att ens kunnande är minimalt :)
Set UploadRequest = CreateObject("Scripting.Dictionary")
Men vad är Dictionary som tydligen skapas i filen?! Måste man göra så för att komma åt filen? Finns det nåra direkta fördelar med det ?
många frågor ..
-perra