Visualizzazione dei risultati da 1 a 3 su 3

Discussione: nascondere link

  1. #1

    nascondere link

    Ciao a tutti,
    io ho un'applicazione asp.net che ad un certo punto (se l'utente è autenticato ecc...ecc...) permette di visualizzare un file pdf.
    Il nome del file da visualizzare viene composto dinamicamente dall'applicativo.
    Il file viene passato tramite ftp e la connessione ftp è protetta da login e pw.
    L'applicativo per invocare l'apertura del file non fa altro che invocare l'apertura di una nuova pagina web (per com'è pensata la funzionalità dell'applicativo non posso usare un frame all'interno della pagina in cui sono) nella quale viene aperto il pdf.
    Ora il mio problema è che per poter visualizzare il file gli devo passare la stringa d'indirizzo ftp completa di login e pw; e avrei disogno che questa stringa non fosse visbile nè facendo "tasto destro -> view source" sul link (ma non posso disabilitare il tasto destro nella pagina perchè è giusto fare "tasto destro -> scarica file") nè nella barra in fondo alla pagina quando il mouse passa sul link, nè in altri modi....
    Insomma io devo passare una stringa d'indirizzo contenente una login e una pw e non voglio che l'utente possa leggerla.

    Avete suggerimenti?

    Grazie in anticipo per le risposte.

  2. #2
    Crei una pagina ASPX, con quella leggi il file via ftp oppure direttamente da FileSystem (non ho capito se il server FTP è lo stesso dove gira il sito o meno) e poi dai in pasto al Response i byte del file letto.
    Più o meno una cosa del genere (scrivo al volo..):

    string filePath = @"c:\file.pdf";
    if (File.Exists(filePath))
    {
    // cerco il file, lo leggo
    FileStream st = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    byte[] buffer = new byte[(int)st.Length];
    st.Read(buffer, 0, (int)st.Length);
    st.Close();

    // "sparo" fuori il file
    Response.Clear();
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath) );
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(buffer);
    }


  3. #3
    Ciao a tutti,
    ho fianlmente risolto usando gli HttpHandler, cioè creandomi un HttpHandler ad hoc e impostandolo sulla mia cartella web di livello più alto, mettendo poi i repository all'interno della stessa.

    Ciao
    SImona

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.