[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 566
  • Last Modified:

Microsoft VBScript runtime error '800a01b6' / Object doesn't support this property or method: 'Response.Form'

Hi ,

I am having problem while trying to send variables from a page to the Upload.

Can u please help me to resolve this issue?

Thank you in advance for ur help
Emiliano



Below the error i get when I add T1=Response.Form("T1") into outputfile.asp  :
--------------------------------------------------
Microsoft VBScript runtime  error '800a01b6'

Object doesn't support this property or method: 'Response.Form'

/public/outputFile.asp, line 36
-------------------------------------------------------

I attach here the scripts:

======= UPLOAD.ASP =================
<%Sub BuildUploadRequest(RequestBin)
      PosBeg = 1
      PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
      boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
      boundaryPos = InstrB(1,RequestBin,boundary)
      Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
            Dim UploadControl
            Set UploadControl = CreateObject("Scripting.Dictionary")
            Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
            Pos = InstrB(Pos,RequestBin,getByteString("name="))
            PosBeg = Pos+6
            PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
            Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
            PosBound = InstrB(PosEnd,RequestBin,boundary)
        If  PosFile<>0 AND (PosFile<PosBound) Then
                  PosBeg = PosFile + 10
                  PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
                  FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
                  UploadControl.Add "FileName", FileName
                  Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
                  PosBeg = Pos+14
                  PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
                  ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
                  UploadControl.Add "ContentType",ContentType
                  PosBeg = PosEnd+4
                  PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
                  Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
                  Else
                  Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
                  PosBeg = Pos+4
                  PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
                  Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            End If

            UploadControl.Add "Value" , Value      
            UploadRequest.Add name, UploadControl
            BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
      Loop
  End Sub
  Function getByteString(StringStr)
      For i = 1 to Len(StringStr)
            char = Mid(StringStr,i,1)
            getByteString = getByteString & chrB(AscB(char))
      Next
  End Function
  Function getString(StringBin)
      getString =""
      For intCount = 1 to LenB(StringBin)
            getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
      Next
  End Function%>

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

  Response.Expires=0
  Response.Buffer = TRUE
  Response.Clear
  byteCount = Request.TotalBytes
  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            %>


===== that's the HTML for i am using to send the variable to the upload page ======

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title></title>
</head>

<body>

  <form METHOD="Post" name="prova1" ENCTYPE="multipart/form-data" action="public/outputFile.asp" >
  t1:<input name="T1"><br>
File : <INPUT TYPE="file" NAME="blob"><BR>



         <input type="submit" name="Insert" value="" >
  </form>


</body>

</html>
0
pixer77
Asked:
pixer77
2 Solutions
 
TimCotteeCommented:
Hi pixer77,

It should be Request.Form not Response.Form, request is input, response is output.

Tim Cottee
0
 
kevp75Commented:
tim is correct, there is no response.form

on outputFile.asp you will have to change them to request.form, though I don't think that will work either as you are requesting a binary file from the form.

try replacing it with:
UploadRequest.Item("T1")
0
 
pixer77Author Commented:

For tim , you are right , I posted the wrong error, I meant :

--------------------------------------------------------------
Request object error 'ASP 0207 : 80004005'

Cannot use Request.Form

/public/outputFile.asp, line 36

Cannot use Request.Form collection after calling BinaryRead.
-------------------------------------------------------------------

For kevp75 , I tryed UploadRequest.Item("T1")  before posting and i got  different errors becasue i forgot to add Item("Value")

 UploadRequest.Item("T1").Item("Value")

thank you anyway for your help, if you let mee how to split the points  , i'll give them to both of you

cheers
emiliano

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now