Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    83

    80004005 Operation not Allowed

    al momento che carico un file con upload.asp mi restituisce:
    Request object error 'ASP 0104 : 80004005'
    Operation not Allowed

    ho trovato lo stesso problema che biifu sembra aver risolto
    (thread:[IIS o ASP?] errore 80004005) lui direttamente con questa risposta:

    Basta editare c:\windows\system32\inetsrv\metabase.xml

    Trovare AspMaxRequestEntityAllowed e passarlo da 204800 a 6144000



    Ma questo lo posso fare solo se io fossi amministratore del server Se non hai accesso al server devi telefonare e chiedere di editare il metabase.xml
    Ora dubito che essi procedano tranquillamente ad esaudire tale richiesta in quanto se avessero voluto permettere l'upload di file con un size maggiore di 208 k. lo avrebbero già fatto.

    Non ho grandi pretese vorrei soltanto portare il limite di 208k almeno a 1MB.

    ho provato anche settare il timeout del server a valori piu alti ma nn è servito a nulla.

    c'è qualcuno che ha già avuto lo stesso problema?
    oppure qualcuno che conosce una via alternativa?

    ciao
    Ivo

  2. #2
    Quale oggetto utilizzi per l'upload?
    Hai i permessi di scrittura nella cartella per l'upload?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    83
    Originariamente inviato da weppos
    Quale oggetto utilizzi per l'upload?
    di seguito ti mando il codice usato proveniente da aspcode.it
    e che ho modificato in piccola parte.
    <%
    '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''
    'Upload con ASP by ASPCode.it - http://www.aspcode.it '
    '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''
    'variabili di configurazione
    Dim folder, filePath

    folder = "../../../database/carica" 'directory sul server con accesso in scrittura
    filePath = Server.mappath(folder)
    'fine variabili di configurazione

    'provo a settare un valore alto per il timeout
    Server.ScriptTimeout = 3600

    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear
    Response.write Server.mappath(folder)
    Response.Flush

    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")


    ' limite Bytes da trasferire
    Length = CLng(Request.ServerVariables("HTTP_Content_Length" ))
    if Length > 1000000 Then
    byteCount = Request.TotalBytes
    response.write "<html><body><font color=black>Il limite di trasferimento per singola E-mail è stato stabilito su 1.000.000 BYTES. Questo file è troppo grande (" & byteCount & " B)</font><body></html>"
    response.end
    end if


    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(filePath&"\"&filename)

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

    MyFile.Close
    %>


    Hai i permessi di scrittura nella cartella per l'upload?
    si e infatti tutto funziona fino al limite dei 200k a 210 fa cilecca e mi mostra a video il messaggio di not allowed.

    grazie per l'attenzione
    ciao
    Ivo

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    83
    inoltre se può tornare utile per capire la soluzione il server lavora con win 2003

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    16
    Prova con questa soluzione che ho trovato cercando per il medesimo errore (non è il mio problema, ma potrebbe servire a te)

    For IIS6.0 users, the AspMaxRequestEntityAllowed property specifies the maximum number of bytes allowed in the entity body of an ASP request. If a Content-Length header is present and specifies an amount of data greater than the value of AspMaxRequestEntityAllowed, IIS may return a 403 error response.
    Please follow the steps below.

    1. Stop the Admin Service.
    2. open file "c:\Windows\System32\Inetsrv\MetaBase.xml
    3. change the AspMaxRequestEntityAllowed to "10000". You can enter another value to suite your needs.
    4. save the file.
    5. restart the service.
    ...into the infinity of thoughts...

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.