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

    Microsoft VBScript runtime error '800a004c'

    Salve a tutti, questo è il mio primo post sul forum e vi chiedo subito di darmi una mano a risolvere un dilemma che mi affligge da qualche giorno senza via d'uscita.
    Dunque, ho la mia bella paginetta asp per fare l'upload di file all'interno di una cartella sul server.
    Premetto che il sito si trova su register, e che sulla cartella dove devo fare l'upload sono stati dati tutti i permessi.
    Quando carico la pagina upload.asp tutto funziona correttamente. Sfoglio le mie directory sul pc o dove mi pare, clicco sul pulsante upload e qui nascono i problemi.
    Il file upload.asp richiama un secondo file per gestire l'upload che si chiama Todownload.asp, ed è su questo file alla linea 36 che IE (sia 6 che 7) mi rilascia questo errore

    Microsoft VBScript runtime error '800a004c'

    Path not found

    /Todownload.asp, line 36


    Le linea incriminata è la seguente
    36. oFSO.OpenTextFile(sPath & sFileName, nForWriting, True).Write sNewData

    la variabile sPath è correttamente dichiarata ed alla linea 34 c'è la stringa di assegnazione del path

    34. sPath = Server.MapPath("/documentazione") & "/"

    Ho provato a cambiare le sbarre, mettere il punto prima della sbarra, eliminare la sbarra dopo la cartella, ma rilascia sempre il medesimo errore.
    La cosa inconcepibile però è che, non variando nulla nel codice originale e cioè con le righe postate sopra, se faccio la stessa operazione utilizzando Firefox 2 l'upload riesce perfettamente senza dare alcun errore ed il file lo ritrovo caricato all'interno della direttrice selezionata sul server.

    Sapete darmi una spiegazione sul perchè lo stesso codice su IE non funziona e su Fireworks si?
    Ci sto scimunendo.

    Thanks a lot

  2. #2
    Dentro al sito la cartella documentazione sta nella root?

  3. #3
    Originariamente inviato da Mems
    Dentro al sito la cartella documentazione sta nella root?
    Si, sta sulla root.
    Il file upload.asp ha altre due sezioni destinate all'upload oltre quella in questione.
    Queste due non sono sulla root, ma si trovano nidificate dentro altre cartelle, ma anche in questo caso succede la stessa cosa.
    Con IE va in errore mentre con Firefox funziona tutto regolarmente.

  4. #4
    Forse la request sul nomeFile crea problemi, in quanto firefox passa solo il nome del file mentre explorer tutto il path locale del client.
    Al momento di creare il file sul server, da firefox passa la stringa nomefile.txt mentre da explorer arriva C:\Document And Settings\utente\desktop\nomefile.txt
    Qust'ultima, attaccata a server.mapPath("/Documenti") & nomeFile va in errore, perchè si avrebbe sul server un path così:
    C:\inetpub\wwwroot\Documenti\C:\Document And Settings\utente\desktop\nomefile.txt

    Forse devi trattare sFileName verificando se ci sono caratteri / oppure \ e, se ci sono, fare uno split e prendere l'elemento dell'array con indice massimo.

  5. #5
    In effetti come dici tu sFileName è così dichiarato

    sFileName = oFile.FileName
    If Not InStr(sFileName, "/") = 0 Then
    sFileName = Mid(sFileName, InStrRev(sFileName, "/") + 1)
    End If

    Cosa c'è di sbagliato?

  6. #6
    codice:
    sFileName = oFile.FileName
    If Not InStr(sFileName, "/") = 0 Then
    sFileName = Mid(sFileName, InStrRev(sFileName, "/") + 1)
    End If
    response.write sFileName
    response.end
    Vediamo cosa scrive.

  7. #7
    Ho copiato il codice che hai postato e questo è il responso

    C:\Documents and Settings\gianluca\Desktop\Calendario dei raduni provinciali e regionali 2008.doc

    E' il path corretto da dove viene preso il file da caricare sul sito, ma se questo è anche il mappath che passa al codice è logico che poi IE mi dica che non trova il percorso.
    Ma come correggo la cosa?

  8. #8
    TROVATOOOOOOO

    Ho individuato l'errore, che era anche logico ma quando ce l'hai sotto il naso chissà perche non riesci avederlo.
    Dunque, l'errore stava nello slash "/" inserito nella funzione instr e nella funzione mid.
    In pratica lo slash è quello del percorso web di un file, ma dato che l'intero blocco if serve per prendere il file locale, e poi attraverso le funzioni instr e mid separare il nome file dall'intero percorso è logico che vada in errore visto che nei percorsi locali non è lo slash "/" a separare le directory mail backslash "\" e quindi il caratttere che le funzioni instr e mid dovevavno cercare in realtà non esistevano e passavano quindi poi al mappath un percorso inesistente.
    Sostituiti gli slash con i backslash ha funzionato tutto subito.

    Grazie mille di tutto.
    Alla prossima

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