5/18/2015 07:56:00 a. m.
Share:
Blog Informático sobre Análisis y Desarrollo de Software.
// // @{ ViewBag.Title = "GenerarArchivo"; }El link lnkDescargarArchivoTexto, está referenciando a la acción DescargarExportableTXT del controller: GenerarArchivo. Está acción o método debe devolver un FileContentResult que creamos en memoria en dicho método. El contenido del controller GenerarArchivo es mostrado a continuación:Generación de Archivos
Descargar Archivo de Texto
// // public class GenerarArchivoController : Controller { // // GET: /GenerarArchivo/ public ActionResult Index() { return View("GenerarArchivo"); } public FileContentResult DescargarExportableTXT() { List<string> listado = new List<string>(); listado.Add(new String[]{"Carlos Alvarado Ferreiros", "52632030", "27/10/1990"}); listado.Add(new String[]{"Franciso Larios Loaiza", "20205263", "15/02/1982"}); listado.Add(new String[]{"Deysi Zárate Ríos", "42635120", "10/01/1975"}); listado.Add(new String[]{"Marcela Morán Flores", "20435230", "26/05/1985"}); Int32 numeroItems = listado.Count(); StringWriter sw = new StringWriter(); using (sw) { for (Int32 i = 0; i < numeroItems; i++) { sw.WriteLine(listado[i][0] + "|" + listado[i][1] + "|" + listado[i][2]); } } String contenido = sw.ToString(); String NombreArchivo = "ListadoClientes_" + DateTime.Now.Date; String ExtensionArchivo = "txt"; return File(new System.Text.UTF8Encoding().GetBytes(contenido), "text/" + ExtensionArchivo, NombreArchivo + "." + ExtensionArchivo); } }
using System.Web;En este caso estoy creando un método estático que me obtenga la dirección IP de un equipo.
public static string GetIpCliente(System.Web.HttpContext contexto) { string IP4Address = String.Empty; foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress)) { // CODIGO } }El propósito del procedimiento lo explique en una entrada anterior, por si les interesa verlo es la siguiente: obtener el nombre del equipo y la dirección IP
String ip = Utilitarios.GetIpCliente(System.Web.HttpContext.Current);Aquí Utilitarios es una clase estática (no es necesario instanciarla para poder acceder a sus métodos estáticos públicos) y lo que se le pasaría al método GetIpCliente es el HttpContext de la actual solicitud HTTP a la aplicación web.
public static string GetIpCliente(System.Web.HttpContext contexto) { string IP4Address = String.Empty; foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress)) { if (IPA.AddressFamily.ToString() == "InterNetwork" || IPA.AddressFamily.ToString() == "InterNetworkV6") { IP4Address = IPA.ToString(); break; } } if (IP4Address != "127.0.0.1" && IP4Address != "::1" ) //String.Empty { return IP4Address; } foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName())) { if (IPA.AddressFamily.ToString() == "InterNetwork") { IP4Address = IPA.ToString(); break; } } return IP4Address; }Más información: http://www.4guysfromrolla.com/articles/071807-1.aspx