Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    6

    creazione e download di un file

    ciao a tutti.
    sono nuova nell' uso di asp.net..
    sto usando asp.net mcv4
    sto facendo una piccola applicazione che mi prende dei dati dal db.
    questi dati li faccio vedere e dò la possibilità di poter scaricare un file con questi dati in formato .csv
    con la creazione del file più o meno ci sono..ma non so come far fare il download del file!!!

    public class Utenti
    {
    public string Nome;
    public string Cognome;
    public string Username;
    public DateTime Data;


    }
    public class HomeController : Controller
    {
    List<Utenti> u = new List<Utenti>();


    public ActionResult Index()
    {
    //faccio connessione col db
    SqlConnection connessione.....
    SqlDataReader prova = comando.ExecuteReader();
    FileStream fs = new FileStream("C:\file\test.txt",FileMode.Append, FileAccess.Write); StreamWriter sw = new StreamWriter(fs);
    sw.WriteLine("NomeCognomeData");


    while (prova.Read())
    {
    Utenti lista = new Utenti();
    lista.Username = prova.GetString(0);
    lista.Nome = prova.GetString(1);
    lista.Cognome = prova.GetString(2);
    lista.Data = prova.GetDateTime(3);
    u.Add(lista);
    sw.Write(lista.Username);
    sw.Write(lista.Nome);
    sw.WriteLine();
    }
    prova.Close();
    connessione.Close();
    sw.Flush();
    sw.Close();
    fs.Close();
    return View(u);
    }


    public ViewResult Dettaglio(string nome, string cognome, DateTime data)
    {

    ViewBag.Message =nome+" "+cognome+" "+data ;
    return View();


    }

    public FileResult DownloadFile()......non so che fare!!!!!


    grazie in anticipo!!!!!!!!!!!

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
    public void DownloadFile(string strNomeFile)
    {
     Response.Expires = -1;
    
     string strPath = this.Server.MapPath(strNomeFile);
     FileInfo file = new FileInfo(strPath);
     if (file.Exists) {
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=\"" + file.Name + "\"");
        Response.AddHeader("Content-Length", file.Length.ToString());
        Response.ContentType = "application/octet-stream";
        // Spara il file al client !
        Response.TransmitFile(strPath);
        Response.End();
     } else {
        Response.Write("Impossibile scaricare il file.");
     }
    }

    dovrebbe andare

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    6
    intanto grazie per avermi risposto..
    il file me lo salva sotto c:\programmi\express IIS..
    non capisco cosa devo mettere in Server.MapPath..

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Sarebbe meglio che il file lo facessi salvare in una cartella INTERNA all'applicazione o comunque facilmente raggiungibile dalla pagina che sta eseguendo il codice.

    Altrimenti prova a dare dinamicamente il percorso del file (cioe' percorso + nomefile) al FileInfo

    codice:
    FileInfo file = new FileInfo("c:\programmi\express IIS\<nomefile.csv>");

    Server.MapPath(path) serve a trasformare un Path relativo del server in uno fisico.
    Ultima modifica di djciko; 08-05-2014 a 15:39

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.