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

    Problema con Upload File

    Ciao a tutti...

    Non avendo la possibilità di caricare file sul sito tramite FTP perché l'Internet Point filtra tutto cio che non viaggia su porta 80, ho pensato di caricare i file più grossi del sito attraverso uno script in ASP e di depositarli nella cartella public, l'unica con permessi di scrittura... Con file piccoli funziona, con quelli grandi da Errore, più precisamente "500, Errore interno del server". Qualcuno sa spiegarmi il motivo? E' capitato anche a voi?
    Grazie a tutti in anticipo...
    Ciao!!!
    Luca
    sardylan@aruba.it

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Che script usi per il caricamento?
    Prova l'upload id baol74 se non puoi usare dll ad hoc per l'upload.

    Roby

  3. #3

    Problema con upload file

    Lo script è questo... Ho omesso sia la pagina per caricarlo, che quella che conferma l'avvenuto upload...

    <%
    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("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

    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")
    Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
    pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_I NFO")))-14
    Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Re quest.ServerVariables("PATH_INFO")),pathEnd) & filename)
    For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
    Next
    MyFile.Close
    %>

    Ho provato a capire come funziona per vedere se riuscivo a fare qualcosa, ma non ho capito un gran che di come crea il dizionario etc... In altri server funziona perfettamente... Io lo utilizzo sopratutto per caricare i file grossi dall'Internet Point visto che a casa mi è impossibile con la 56k... Dove lo trovo quello di baol74? Grazie 1000 per la risposta... Ciao Ciao!!!
    Luca
    sardylan@aruba.it

  4. #4

  5. #5

    Problema con Upload File

    OK... Grazie 1000... Ora lo provo e poi ti faccio sapere...
    Luca
    sardylan@aruba.it

  6. #6

    Problema con Upload File

    L'ho provato e funziona perfettamente con i file piccoli... Questa settimana lo provo con i file più grandi e ti faccio sapere...
    L'unica cosa che non va, che più che altro è una fesseria, è che ad upload terminato mi restituisce una pagina vuota... E' normale?
    Luca
    sardylan@aruba.it

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non ci scrivi nulla... è normale.

    Roby

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.