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

    upload immagini in cartella server

    Salve a tutti, credo di aver utilizzato ogni script disponibile sul web per l'upload delle immagini in una cartella nel server del provider (Aruba nel mio caso). La cartella dove voglio caricare le immagini è la cartella "public" che, come di Aruba, è già provvista dei permessi di scrittura e che comunque ho verificato personalmente che ne fosse dotata.

    l'errore che mi rimanda il server è

    Microsoft VBScript runtime error '800a0046'

    Permission denied

    /upload.asp, line 60


    Di conseguenza, la sola ragione che mi viene in mente per cui non riesco a caricare le immagini è che sbaglio a scrivere il percorso della cartella di destinazione sul server.

    il codice è questo:

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>


    <%@ Language= VBScript %>
    <%
    ' Imposta il tempo max di esecuzione dello script (espresso in millisecondi)
    Server.ScriptTimeout = 100000


    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear

    'impostazioni variabili
    byteCount = Request.TotalBytes
    RequestBin = Request.BinaryRead(byteCount)
    Set UploadRequest = CreateObject("Scripting.Dictionary")
    BuildUploadRequest RequestBin

    'individua il tipo di file che si cerca di fare l upload
    contentType = UploadRequest.Item("file").Item("ContentType")

    'intero percorso del file
    filepathname = UploadRequest.Item("file").Item("FileName")

    '****************************** CONTROLLI IMMAGINE

    'controllo tipo immagine
    tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"."))

    'cambiare la scrita zip e gz qui sotto per inserire la sigla di un altro tipo di file
    'Se si vuole permettere l'upload di qualsiasi tipo di file cancellare o commentare
    'le successive 4 linee di codice e l'ultimo END IF della pagina upload.asp
    If tipo <> "jpg" AND tipo <> "jpeg" then
    Response.Write ("Errore Upload. Non è possibile fare upload di un file ." & tipo)
    Response.End
    else

    ' calcolo del peso della immagine
    'imposta qui, il peso max. 90000 vuol dire 9 Kb circa
    IF byteCount > 90000 THEN
    Response.Write ("Errore Upload. File troppo grande!")
    Response.End
    else

    '*********************************** NOME FINALE DEL FILE e UPLOAD
    nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,""))

    'in questa variabile viene salvato il nome del file che sarà del tipo 2311235.gif
    filename = nomefile

    value = UploadRequest.Item("file").Item("Value")
    Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
    pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_I NFO")))-14

    'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file
    Set MyFile = ScriptObject.CreateTextFile(Server.mappath("\publi c\") & filename)
    For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
    Next

    MyFile.Close

    End If
    End If
    %>

    </head>

    <body>



    </body>
    </html>

    il codice del file esegui è questo

    <html xmlns="http://www.w3.org/1999/xhtml">
    <%
    ' !!! NON MODIFICARE QUESTO FILE !!!

    '********************** NON MODIFICARE
    'è il cuore dello script
    'senza questo file non viene effettuato l 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
    %>

    </html>

    Grazie infinite per chi vorrà aiutarmi

  2. #2
    Set MyFile = ScriptObject.CreateTextFile(Server.mappath("\publi c\") & filename)
    mmm non mi convince

  3. #3

    upload immagini in cartella server

    Come dovrebbe essere secondo te? Poi magari se tu hai un codice funzionante e me lo puoi indicare te ne sarei infinitamente grato
    Ciao e Grazie

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Su Aruba puoi usare l'oggetto Persits e risolvere in un secondo.
    http://vademecum.aruba.it/start/Persits/

    Roby

  5. #5
    Ciao Roby, sai se aruba consente l'utilizzo di Persits sui server dedicati?

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se compri il componente si visto che le installazioni le decidi tu immagino.

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