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

    Server.Mappath e percorsi

    Sto impazzendo cercando di salvare un file non nella stessa cartella "CartellaX" in cui risiede la pagina ASP (classic ASP per la precisione) ma in una sottocartella "Tracks".
    Il codice seguente salva effettivamente il file nella cartella in cui risiede la pagina ASP
    codice:
    BinaryStream.SaveToFile server.MapPath(strFileName), 2  
    Response.write strFileName
    Quello seguente viceversa salva il file nella cartella Tracks se lavoro con il server web locale ma se sposto il mio codice su internet non ottengo nulla.
    Preciso che la cartella Tracks ha i permessi di lettura/scrittura.
    codice:
    BinaryStream.SaveToFile server.MapPath("../CartellaX/Tracks/" & strFileName), 2  
    Response.write "..\CartellaX\Tracks\" & strFileName
    Probabilmente sbaglio in un punto o in uno slash di troppo.
    E credo di aver scritto nel modo corretto i vari "\" e "/".
    Non so però venirne a capo !!!
    Grazie per l'attenzione.

  2. #2
    impariamo a fare un po' di debug

    mioFile=server.MapPath("../CartellaX/Tracks/") & strFileName
    Response.Write "maGGico file...: " & mioFile
    BinaryStream.SaveToFile mioFile, 2

  3. #3
    Conosco il debug ma, nel mio caso, non era possibile in quanto la pagina non ha un output sullo schermo. Tuttavia, guardando a destra a manca, sono riuscito nel mio scopo.
    La linea
    codice:
    BinaryStream.SaveToFile server.MapPath("../CartellaX/Tracks/" & strFileName), 2
    era da correggere in
    codice:
    BinaryStream.SaveToFile server.MapPath("/CartellaX/Tracks") & "/" & strFileName , 2
    Grazie.

  4. #4
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da giustavalla Visualizza il messaggio
    Conosco il debug ma, nel mio caso, non era possibile in quanto la pagina non ha un output sullo schermo. Tuttavia, guardando a destra a manca, sono riuscito nel mio scopo.
    La linea
    codice:
    BinaryStream.SaveToFile server.MapPath("../CartellaX/Tracks/" & strFileName), 2
    era da correggere in
    codice:
    BinaryStream.SaveToFile server.MapPath("/CartellaX/Tracks") & "/" & strFileName , 2
    Grazie.
    Molti provider e anche Aruba non permettono di usare i due punti come istruzione per risalire alla cartella superiore da dove sta eseguendo il codice per motivi di protezione ...
    Per cui lo slash iniziale permette di puntare alla cartella ROOT del server web allocato mentre se ometti lo slash, vuol dire che dici al programma di partire dalla cartella in cui sta eseguendo il codice...
    Vic53

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.