Visualizzazione dei risultati da 1 a 2 su 2

Discussione: upload file

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    23

    upload file

    Buongiorno, ho un problema con una funzione che mi permette di fare l'upload dei file da client a server (se lo utilizzo con IIS locale funziona tutto correttamente mentre se carico le pagine sul server no).
    Il problema è che se cerco di caricare un file di dimensione superiore a 250kb non effettua il caricamento.

    Ho cercato di analizzare il problema guardando anche altri siti e altri forum e sembra che la funzione che utilizzo io possa avere dei limiti sulla dimensione dei file da caricare.

    Per essere sicuri che capiate bene il problema inserirò anche il codice della mia pagina.

    <SCRIPT LANGUAGE="JavaScript1.1">

    </script>

    <%
    Response.Buffer = true
    'variabili di configurazione
    On Error Resume Next


    Dim folder, objFile , File
    Set objFile = Server.CreateObject("Scripting.FileSystemObject")
    folder = session("CARTELLA_CARICO") 'directory sul server con accesso in scrittura

    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("Conte nt-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("filen ame="))
    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),Requ estBin,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

    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")
    if filepathname="" then
    response.redirect("msg.asp?message=" & "Il percorso del file risulta errato. Inserire un nuovo percorso.")
    end if
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    response.write filename & "
    "
    value = UploadRequest.Item("blob").Item("Value")
    session("File_name_upload")=FileName
    'Create FileSytemObject Component
    Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")



    'Create and Write to a File
    Set MyFile = ScriptObject.CreateTextFile(folder&"\"&filename)
    response.write folder&"\"&filename & "
    "
    'RESPONSE.END
    if Err.Number<>0 then
    Response.Clear()
    Response.Redirect "msg.asp?message=" & "Il percorso del file risulta errato. Inserire un nuovo percorso."
    end if

    For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
    Next

    MyFile.Close
    %>

    <html>
    <head>
    <title>UPLOAD FILE</title>
    </head>
    <body>
    <%

    Response.Redirect("scelta.ASP")
    %>
    </body>
    </html>


    Mi sapete dare delle indicazione sull'origine del mio problema?

    Vi ringrazio

  2. #2
    Utente di HTML.it L'avatar di kava01
    Registrato dal
    Jul 2006
    Messaggi
    116
    E' sicuramente un problema di timeout.

    Quanta banda hai in upload?

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.