none
Descargar un video mp4 RRS feed

  • Pregunta

  • Hola a todos:

    Para descargas de videos mp4 hago en una página

                    Response.ContentType = "application/octet-stream"
                    Response.AddHeader("Content-Disposition", "attachment; filename=" & Path.GetFileName(fi.FullName))

    Pero con es no me baja el fichero completo. El contenttype no lo tengo a mp4. No sé cual es el contenttype

    Lo podeis ver en https://www.cresolia.com. Pinchar en 'anuncios', 'naturaleza en l mar', 'wildlife.mp4'. Podeis ver que no baja los 25,3 mb. Esto se ve mejor en el IE.

    ¿Cómo hacer para que baje todo? Tal vez cambiando el conenttype.

    Gracias de antemano.


    • Editado volar.2016 sábado, 9 de abril de 2016 19:54
    sábado, 9 de abril de 2016 19:35

Respuestas

  • Pero con ese código no transmites el fichero. Únicamente añades cabeceras para indicar el tipo de contenido.

    El código te debería quedar algo así:

            Response.Clear()
            Dim contentDisposition As New Net.Mime.ContentDisposition("attachment") With{ .FileName = fi.Name }           
            Response.AddHeader("Content-Disposition", contentDisposition.ToString())
            Response.ContentType = "video/mp4"
            Response.TransmitFile(fi.FullName)
            Response.Flush()
            Response.End()
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta volar.2016 domingo, 10 de abril de 2016 7:09
    sábado, 9 de abril de 2016 20:05

Todas las respuestas

  • Pero con ese código no transmites el fichero. Únicamente añades cabeceras para indicar el tipo de contenido.

    El código te debería quedar algo así:

            Response.Clear()
            Dim contentDisposition As New Net.Mime.ContentDisposition("attachment") With{ .FileName = fi.Name }           
            Response.AddHeader("Content-Disposition", contentDisposition.ToString())
            Response.ContentType = "video/mp4"
            Response.TransmitFile(fi.FullName)
            Response.Flush()
            Response.End()
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta volar.2016 domingo, 10 de abril de 2016 7:09
    sábado, 9 de abril de 2016 20:05
  • Hola amigo, este es mi código para descargar un archivo cualquiera. 

    public void Download(string patch)
        {
            System.IO.FileInfo toDownload = new System.IO.FileInfo(HttpContext.Current.Server.MapPath(patch));
            Response.BufferOutput = true;
            HttpContext.Current.Response.ClearContent();
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + toDownload.Name);
            HttpContext.Current.Response.AddHeader("Content-Length", toDownload.Length.ToString());
            HttpContext.Current.Response.ContentType = "application/octet-stream";
            HttpContext.Current.Response.TransmitFile(patch);
            Response.Flush();
            HttpContext.Current.ApplicationInstance.CompleteRequest();
        }
    saludos :)

    sábado, 9 de abril de 2016 20:13
  • hola. Configuraste también los mime type de tu iis?

    https://www.articulate.com/support/presenter-09/mp4-videos-require-a-mime-type-on-your-server-to-play-properly

    http://forums.asp.net/t/1470612.aspx?How+to+enable+IIS+to+play+MP4+files


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    sábado, 9 de abril de 2016 20:14
    Moderador
  • Eso lo que va a hacer es descargar el fichero. Luego el usuario puede abrirlo con el software que tenga instalado en su equipo.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    domingo, 10 de abril de 2016 8:55