Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Pagina upload

  1. #1

    Pagina upload

    Ho questa pagina upload.asp che però,per i file superiori a 3mb circa, non funziona senza dare nessun messaggio di errore.Dov'è lo sbaglio?


    <% Server.ScriptTimeout=9000 %>

    <%

    Dim folder
    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear
    folder = dirUpload

    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

    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
    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
    %>
    <table border=0 width=360 cellspacing=1 align=center>
    <tr>
    <td width=400 align=center bgcolor=#000099><FONT FACE="tahoma" color=#ffffff size=2>Il
    file <%=filename%> è stato caricato con successo.
    </FONT></td>
    </tr>
    <tr>
    <td width="400" height="30" bgcolor="#eeeeee" align=center><a href=pannello.asp><font face=arial size=2 color=black>Torna
    al Pannello Principale</font></a></td>
    </tr>
    </table>
    <%
    sql = "UPDATE mess SET file_upl='" & filename & "' WHERE id = " & session("id_messaggio")
    Set rs = con.Execute(sql)
    Response.Redirect "view.asp?id=" & session("id_messaggio")
    %>
    Non è mai troppo tardi per vivere la propria adolescenza

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Prova questo script qui, non dovresti avere più problemi:
    http://www.creamweb.it/script/mostra.../?id_script=12

    Roby

  3. #3
    Originariamente inviato da Roby_72
    Prova questo script qui, non dovresti avere più problemi:
    http://www.creamweb.it/script/mostra.../?id_script=12

    Roby
    Ti ringrazio molto roby ma vorrei provare a correggere questo perchè fa parte di uno script più ampio di un forum in asp.E' possibile adattare secondo te lo script che mi hai consigliato?
    Non è mai troppo tardi per vivere la propria adolescenza

  4. #4
    <% Server.ScriptTimeout=9000 %>
    aumenta questo e poi dipende dalla velocità della tua connessione e non dalle dimensioni del file.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.