Busca lo que quieras

Obligar descarga archivo desde FLASH y .NET C#

Hola compañeritos.

Una funcionalidad de los archivos extensión .ashx es poder obligar a la descarga de un archivo.

A continuación coloco el código completo de todo el ashx.

Puedes llamarlo download.ashx y enviarle como parámetro por get, el nombre del archivo.

No olvides modificar la ruta relativa a la que esta llamando el archivo. También ten en cuenta el content type de descarga... pues este depende del tipo de archivo que vayas a descargar. En el ejemplo siguiente es un word, pero puedes buscar el que quieras en el siguiente link.

<%@ WebHandler Language="C#" Class="download" %>


using System;
using System.Web;
using System.IO;
public class download : IHttpHandler {


    public void ProcessRequest(HttpContext context)
    {
        string filename = context.Request.Params["fileName"];


        // read the file into a byte array
        byte[] bytes = File.ReadAllBytes(context.Server.MapPath("Descargas/" + filename));


        // clear the headers
        context.Response.ClearHeaders();
        // clear ouat the response
        context.Response.Clear();
        // set the Content-disposition to attachment and
        context.Response.AddHeader("Content-disposition", "attachment; filename=" + filename);
        // set the content type - might not be image/jpeg for you
        context.Response.ContentType = "application/msword";
        // send the content out
        context.Response.BinaryWrite(bytes);
        // end the response
        context.Response.End();


    }


    public bool IsReusable
    {
        get
        {
            return false;
        }
    }


}

Entonces desde flash uno llama un con URLLoader el archivo:

www.tudominio.com/download.ashx?fileName=miarchivo.doc

Espero les sirva.

Sean felices! :)

No hay comentarios:

Publicar un comentario

Palabras Clave

.NET (93) AJAX (2) ajaxcontroltoolkit (2) Algoritmos (1) android (1) Angular (1) Arrays (1) AS2 o ActionScript 2.0 (1) AS3 o ActionScript 3.0 (64) ASP (7) ASP.NET (3) Azure (1) Azure DevOps (2) Backup (2) Batch (4) blogger (1) Browser Support (2) C# (53) Charts (1) Chorme extensions (1) Chrome (3) cmd (18) código postal (1) Colombia tips (1) command (1) Conexion remota (1) Controles Web .NET (24) Cookies (1) cordova (1) CSS (14) CSV (5) Cufon (1) DateTime (2) deployment (2) Desarrollo movil (2) Desarrollo web (5) Diseño (4) DNN o DotNetNuke (5) docker (1) Encuestas (1) Entity Framework (1) Error (1) Eval (2) Excel (4) Expresiones regulares (2) Facebook (14) fechas (1) Fiddler (1) FileUpload (1) Filezilla (1) Firefox (2) Flash (9) Fonts (3) FQL (1) frameworks (2) Futuro de la web (1) git (1) Google Code (13) Google Maps (4) hackintosh (3) hazard 10.6.2 (3) herramientas para developers (1) highchart (1) Hilos (2) Hosting Windows (18) HTML (38) HTML5 (6) IDE (1) IE (2) IE9 (1) IIS (13) imagenes (3) jasmine (2) java (1) jqgrid (2) Jquery y Javascript (90) jquery-ui (5) jQueryMobile (1) JSON (1) knockout (4) library (1) Link Interesantes (2) List (1) Macro (2) Matemáticas (2) Membership (6) Memoria (1) Mis Experiencias (3) momentjs (1) ms-dos (1) MSN (1) MVC (1) MVC4 (3) MySQL (2) node.js (4) Notepad++ (3) Notificaciones (1) ObjectDataSource (2) Online (2) Opinión (4) OSX (3) Parallels Plesk Panel (1) petapoco (1) PhantomJS (1) PHP (4) Porqué este blog (1) Powershell (1) Razor (3) Redes (2) REGEX (4) REST (1) SDK Android (1) Seguridad (1) SelectParameters (1) Selenium (2) sencha (3) sencha cmd (2) SEO (1) SMTP (2) Software útil (8) Solución (1) Soporte (1) SQL (15) SQL Server (58) SQLite (2) Store Procedures (20) String (5) Testing Code (2) texto (2) tips de datos (1) tips de desarrollo (1) TutoFaceAS3 (4) TutoProAS3 (4) Tutoriales (7) Tweenlite effects (3) Últimas noticias (1) unit testing (1) usb (1) VBA (1) Video (1) virus (1) Web API (2) Web Browsers (1) Web Forms (7) web.config (1) Webmaster (8) Webmatrix (1) webrole (1) webservices (1) webstorm (1) Win Forms (5) Windows (21) Windows 7 (1) Windows 8 (1) XML (2) Youtube API (2)