Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    request.form errore 0206

    Quando cerco di recuperare il valore da una form ottengo questo errore:

    Oggetto Request, ASP 0206 (0x80004005)
    Impossibile richiamare il metodo BinaryRead dopo aver utilizzato l'insieme Request.Form.
    /restricted_area/upload.asp, line 75
    Posto il codice:

    dalla pagina formupload con action vado a upload.asp dove:

    codice:
    <%
     
    dirupload1 = Request.form("dirupload") 'recupero il valore dalla form
    If dirupload1 = "" or IsNull(dirupload1)  Then
     Response.Redirect  ("formupload.asp")
    End If
    
    'variabili di configurazione
    Dim folder
    folder = "/mdb-database/db_documents/" & dirupload1	'directory sul server con accesso in scrittura
    'fine variabili di configurazione
    
    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear
    
    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")
    		'Get an object name
    		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
    
    byteCount = Request.TotalBytes
    
    RIGA 75 ------>>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
    Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder)&"\"&filename)
     
    For i = 1 to LenB(value)
    	MyFile.Write chr(AscB(MidB(value,i,1)))
    Next
     
    MyFile.Close
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Con quello script non puoi inviare campi testo e campi file.
    Cerca nel forum i metodi alternativi.

    Roby

  3. #3
    Grazie....
    ho cercato manon riesco a capire come fare....quale metodo mi consigli.....
    ti spiego il mio problema, devo portarmi dietro dalla pagina formupload nella pagina upload una var che contenga la parte finale del percorso dove fare upload...come posso fare.....???

  4. #4

    upload baol74 con path dinamico

    ok ora sto provando ad utilizzare upload di baol74 ....

    mi funziona, l'unica cosa e settare il percorso dell'upload dinamico, quindi ho inserito un elenco menu dove a secondo della selezione ricavo il percorso tramite i request.form :

    codice:
    If Request("Upload")="1" then
    	Dim oUpload
    	dim pat
    	pat = Request.form("dirupload")
    	response.write pat
    	Set oUpload = new cUpload
    		oUpload.AutoRename = False
    		oUpload.Overwrite = true
    		oUpload.SetPath pat
    		oUpload.UploadAndSave
    	Set oUpload=Nothing
    	filesend="send"
    end if
    non trova il path mi da il seguente errore:

    Server.MapPath(), ASP 0171 (0x80004005)
    Specificare un percorso come parametro per il metodo MapPath.
    /upload/upload.asp, line 763

    .....le sto provando tutte per upload .....
    esiste qualche santo che mi da una mano......

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    QUi

    pat = Request.form("dirupload")

    ci devi mettere un percorso con il mappath!

    Roby

  6. #6
    Grazie
    ok

    in effetti avevo mancato la parte di percorso costante:

    codice:
    pat = "/mdb-database/db_documents" & Request.Form("dirupload")
    solo che utilizzando Request.Form mi da ancora l'errore di prima
    Oggetto Request, ASP 0206 (0x80004005)
    Impossibile richiamare il metodo BinaryRead dopo aver utilizzato l'insieme Request.Form.
    /upload/upload.asp, line 291

    per il mappath non ho capito.... se per favore mi puoi spiegare...ormai sono 2 giorni che ci

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.