Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    48

    problemi di upload immagini su a ruba

    ciao ho caricato un sito su server Aruba e nell'area amministrazione ho un problema di immagini. il sito, compresa l'area amminitrazione l'ho messo tutto nella vartella public che dovrebbe avere tutti i permessi . Ma quando cerco di importare un'immagine ho questo errore:

    Microsoft VBScript runtime error '800a0046'

    Permission denied

    /public/_admin/catimgupload1.asp, line 135

    lo script di catimgupload1.asp è:


    <%@Language="VBScript"%>
    <% Option Explicit %>
    <% Response.Buffer = TRUE %>
    <% if session("shopadmin")<>"ok" then response.redirect ("sorry.html") %>
    <% if session("adminlevel")<2 then response.redirect ("denied.asp") %>

    <%
    Dim uploadFolder, maxFileSize, allowedFileTypes
    Dim MyFileTypes
    Dim errorHappened, errorMsg
    Dim intI, FileName, FileSize
    uploadFolder = "/images/cat/"
    maxFileSize = 102400 ' max bytes
    allowedFileTypes = ".gif;.jpg;.png;.psd"
    MyFileTypes = Split(allowedFileTypes,";")
    %>
    <%
    Class FileUploader
    Public Files
    Private mcolFormElem

    Private Sub Class_Initialize()
    Set Files = Server.CreateObject("Scripting.Dictionary")
    Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
    End Sub

    Private Sub Class_Terminate()
    If IsObject(Files) Then
    Files.RemoveAll()
    Set Files = Nothing
    End If
    If IsObject(mcolFormElem) Then
    mcolFormElem.RemoveAll()
    Set mcolFormElem = Nothing
    End If
    End Sub

    Public Property Get Form(sIndex)
    Form = ""
    If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
    End Property

    Public Default Sub Upload()
    Dim biData, sInputName
    Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
    Dim nPosFile, nPosBound

    biData = Request.BinaryRead(Request.TotalBytes)
    nPosBegin = 1
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

    If (nPosEnd-nPosBegin) <= 0 Then Exit Sub

    vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
    nDataBoundPos = InstrB(1, biData, vDataBounds)

    Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))

    nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
    nPos = InstrB(nPos, biData, CByteString("name="))
    nPosBegin = nPos + 6
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
    sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
    nPosBound = InstrB(nPosEnd, biData, vDataBounds)

    If nPosFile <> 0 And nPosFile < nPosBound Then
    Dim oUploadFile, sFileName
    Set oUploadFile = New UploadedFile

    nPosBegin = nPosFile + 10
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
    sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))

    nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
    nPosBegin = nPos + 14
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))

    oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))

    nPosBegin = nPosEnd+4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)

    If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile
    Else
    nPos = InstrB(nPos, biData, CByteString(Chr(13)))
    nPosBegin = nPos + 4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
    If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    End If

    nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
    Loop
    End Sub

    'String to byte string conversion
    Private Function CByteString(sString)
    Dim nIndex
    For nIndex = 1 to Len(sString)
    CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
    Next
    End Function

    'Byte string to string conversion
    Private Function CWideString(bsString)
    Dim nIndex
    CWideString =""
    For nIndex = 1 to LenB(bsString)
    CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
    Next
    End Function
    End Class

    Class UploadedFile
    Public ContentType
    Public FileName
    Public FileData

    Public Property Get FileSize()
    FileSize = LenB(FileData)
    End Property

    Public Sub SaveToDisk(sPath)
    Dim oFS, oFile
    Dim nIndex

    If sPath = "" Or FileName = "" Then Exit Sub
    If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"

    Set oFS = Server.CreateObject("Scripting.FileSystemObject")
    If Not oFS.FolderExists(sPath) Then Exit Sub

    Set oFile = oFS.CreateTextFile(sPath & FileName, True)

    For nIndex = 1 to LenB(FileData)
    oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
    Next

    oFile.Close
    End Sub
    End Class

    Function CheckFileTyp(FileName)
    CheckFileTyp = false

    For intI = 0 to Ubound(MyFileTypes)
    If instr(FileName,MyFileTypes(intI)) > 0 Then
    CheckFileTyp = true
    End If
    Next
    End Function

    Function CheckSize(FileSize)
    CheckSize = false

    If FileSize < maxFileSize Then
    CheckSize = true
    End If
    End Function
    %>
    <%
    Dim Uploader, File
    Set Uploader = New FileUploader

    Uploader.Upload()

    If Uploader.Files.Count = 0 Then
    errorHappened = 1
    Else
    For Each File In Uploader.Files.Items
    If CheckFileTyp(File.FileName) = false Then
    errorHappened = 2
    Else
    FileName = File.FileName
    End If

    If CheckSize(File.FileSize) = false Then
    errorHappened = 3
    FileSize = File.FileSize
    End If

    If errorHappened = "" Then
    File.SaveToDisk Server.MapPath(uploadFolder)
    End If
    Next
    End If

    Select Case errorHappened
    Case 1
    errorMsg = errorMsg & "No file selected!"
    Case 2
    errorMsg = errorMsg & "Wrong filetype. Allowed are: " & allowedFileTypes & "!"
    Case 3
    errorMsg = errorMsg & "[b]File is too big. Maximum: " & maxFileSize & "
    Your file: " & FileSize
    End Select

    If errorHappened = "" Then
    response.redirect("catimgupload.asp")
    Else
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title> .:. Administration</title>
    <link rel="stylesheet" href="../includes/styles.css" type="text/css">
    </head>

    <body>
    <div align="center"><center>
    <table width="100%" cellpadding="2" cellspacing="0" bgcolor="#8DA0B8" border="0">
    <tr><td align="center"><font face="arial" size="+1" color="#eaeaea"><%=fShopTitle%> .:. Admin - Upload</font></td></tr>
    </table>

    <table width="99%" border="0" cellpadding="2" cellspacing="0">
    <tr valign="top"><td align="center" valign="top">


    <center><%=errorMsg%>

    [ back ]</center>



    </td></tr></table></center></div>
    </body>
    </html><% End If %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questa

    codice:
    uploadFolder = "/images/cat/
    non va bene.
    Su Sruba puoi fare l'upload solo in public e mdb-database e loro sottocartelle.

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    48
    Originariamente inviato da Roby_72
    Questa

    codice:
    uploadFolder = "/images/cat/
    non va bene.
    Su Sruba puoi fare l'upload solo in public e mdb-database e loro sottocartelle.

    Roby
    Infatti in public ho messo tutto il sito compresa la cartella images

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    uploadFolder = "/public/images/cat/
    Roby

  5. #5
    è la / prima di "images" il problema....

    dovresti scrivere "/public/images/cat" senza la barra finale

    spiego meglio:
    la "/" indica l programma di andare alla root del sito... quindi devi dargli il percorso partendo dalla root

    in alternativa ci sono "../" che ti va al livello superiore a dove si trova la pagina..
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    48
    Originariamente inviato da Roby_72
    codice:
    uploadFolder = "/public/images/cat/
    Roby
    ADESSO CI PROVO PERCHE' SE E' COSI' HO MOLTE PAGINE DA SISTEMARE...POI TI DICO. TU STAI LI'...NON MUOVERTI....SEI TROPPO PREZIOSO

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E chi se move...
    Comq non serve mettere tutto il sito in public... anzi non lo devi proprio fare...
    Basta cambiare il percorso dell'upload... solo quello deve avere i permessi non anche le pagine ASP...
    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    48
    Originariamente inviato da Roby_72
    E chi se move...
    Comq non serve mettere tutto il sito in public... anzi non lo devi proprio fare...
    Basta cambiare il percorso dell'upload... solo quello deve avere i permessi non anche le pagine ASP...
    Roby
    MITICO ROBY FUNZIONA!!!! MA ALLORAADESSO CHE FUNZIONA TUTTO DEVO RISISTEMARE IL TUTTO??? MA SUCCEDE QUALCOSA SE LASCIO TUTTO IN PUBLIC? SCUSA LA DOMANDA MA NON HO MAI LAVORATO SU ARUBA. TI MANDO UN BACIONE GRANDE GRANDE

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non è il massimo vedere nell'url la cartella public...
    Il sito deve stare nella root e sottocartelle tematiche.
    I path diversi li gestisci solo per l'upload e per andare a recuperare dati dal db (mdb-database) e i file caricati (public).
    Fai i cambiamenti in locale prima e poi trasferisci su web.

    Roby

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    48
    Originariamente inviato da Roby_72
    Non è il massimo vedere nell'url la cartella public...
    Il sito deve stare nella root e sottocartelle tematiche.
    I path diversi li gestisci solo per l'upload e per andare a recuperare dati dal db (mdb-database) e i file caricati (public).
    Fai i cambiamenti in locale prima e poi trasferisci su web.

    Roby
    HO CAPITO E HAI PERFETTAMENTE RAGIONE. MA IL MIO DUBBIO E' CHE LA CARTELLA IMAGES CHE CONTIENE ALTRE SOTTOCARTELLE CHE CONTENGONO IMMAGINI DELL'ECOMMERCE NON POSSO A QUESTO PUNTO LASCIARLA NELLA ROOT. NON AVREBBE I PERMESSI. E SE LA METTO IN PUBLIC DEVO CAMBIARE IL PERCORSO A TUTTI I LINK DELLE PAGINE CHE PUNTANO ALLA CARTELLA IMAGES...E SONO TANTI!! HO DETTO UNA LOCCATA???

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.