Si queremos que algún cliente se pueda decargar un archivo mp3 (que no tiene porque ser con copyright) o cualquier otro archivo, lo normal es enlazarlo directamente como si fuera un zip o algo así. Lo que ocurrirá es que nuestro reproductor favorito se pondrá en funcionamiento para reproducir ese archivo. Si lo que queremos es que salga el cuadro de diálogo descargar archivo deberemos hacer algo parecido a los siguiente:
En flash asignamos a un boton el siguiente código:
Código :
////DESCARGAR
descarga_btn.onRelease = function() { //al pulsar el boton
if (varDelMp3 != undefined) { //variable que contiene el nombre y ruta del archivo mp3
var el_audio:LoadVars = new LoadVars(); //creamos el objeto loadVars
el_audio.so_mp3 = varDelMp3; //le asignamos el archivo
el_audio.send("audios_descargar.php", "_self"); //lo enviamos al php
} else {
getURL("error.html", "_blank"); //si la cosa sale mal, ponemos un lindo archivo disculpándonos.
}
};A continuación en el php ponemos:
Código :
<?php
function descargar($so_mp3){
$elArchivo = basename($so_mp3);
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($so_mp3));
header( "Content-Disposition: attachment; filename=".$elArchivo."");
readfile($so_mp3);
}
descargar($so_mp3);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
<title>Error al Descarregar el arxiu d'audio</title>
</head>
<body>
<p>No se ha podido descargar el audio</p>
</body>
</html>
Y claro, lo guardaremos con el nombre audios_descargar.php
cuando pulsemos el boton de descargar, nos saldrá a la fuerza el cuadro de diálogo guardar o abrir el archivo. Así evitaremos que se abra el Media player para reproducir el archivo.

Por sanjeet el 12 de Octubre de 2006
En la sección tutoriales hay un ejemplo más completo y dan unos tips de como agregarle un poco de seguridad.
saludos
Por Sickboy el 16 de Octubre de 2006
Por 2dacalle el 29 de Noviembre de 2006
2dacalle_blog :
Por 2dacalle el 29 de Noviembre de 2006
Muchas Gracias.
Por el 30 de Noviembre de 2006
2dacalle_blog :
Muchas Gracias.
Quizás no lo entendiste pero te lo aclaro yo:
N O LAMENTABLEMENTE.
Por 2dacalle el 04 de Diciembre de 2006
Mi problema es que cuando descargo una imagen(.JPG) en IE, deja la ventana abierta de descarga(PHP) con el mensaje que dice "Action canceled".
La pregunta en si es ¿alguien sabe como hacer para que no quede abierta esta ventana del navegador?
2dacalle_blog :
Muchas Gracias.
Quizás esto te ayude:
http://www.cristalab.com/foros/viewtopic.php?p=50021#50021
Por guarro el 28 de Diciembre de 2006
Por Dailo el 28 de Diciembre de 2006
Por Sheme el 23 de Enero de 2007
bueno muchas gracias por lo util que es la pagina y saludos a todos los que participan en esto.
Por umek el 28 de Enero de 2007
Mi problema es que el archivo que me aparece para la descarga es el mismo php, y no el mp3.
Haciendo traces veo que las rutas las coje bien, ¿que puede ser?
Mil Gracias
Por umek el 28 de Enero de 2007
Por Lebennin el 08 de Febrero de 2007
psycho-vnz :
Mi problema es que cuando descargo una imagen(.JPG) en IE, deja la ventana abierta de descarga(PHP) con el mensaje que dice "Action canceled".
La pregunta en si es ¿alguien sabe como hacer para que no quede abierta esta ventana del navegador?
Poniendo target="_self" cuando envias el url así sale directamente el cuadro de diálogo.
si alguien sabe alguna cosa...
Por jose luis vazquez Go el 19 de Febrero de 2007
en el truco de descargar archivo desde boton, ¿donde tengo que poner la ruta de mi archivo ?
Gracias...
Por el 26 de Febrero de 2007
Código :
if (varDelMp3 != undefined) { //variable que contiene el nombre y ruta del archivo mp3Por camilo el 21 de Marzo de 2007
Alguien me podria decir como hago o que codigo es autoincremental para generar otro nombre ejemplo:
camilo.xls (primer documento)
camilo(1).xls (segundo)
camilo(2).xls y asi
Por jose el 24 de Abril de 2007
Alguien lo puede explicar mas detalladamente??? muchas gracias
Por Xipi el 30 de Abril de 2007
resulta que cuando le doy a generar un sonido con un programa ( loquendo ), se me abre automaticamente el archivo en lugar de preguntarme, guardar como..., abrir, y cancelar
quiero que me aparezca esta ultima pantalla, en lugar de abrirseme automaticamente
un saludo y mi msn es : gabri27@hotmail.com, para cualquier respuesta, gracias.
Por cristian el 22 de Junio de 2007
Gracias de antemano
Por cristian el 22 de Junio de 2007
gracias!
Por ccj el 25 de Junio de 2007
gracias
Por venealex el 09 de Agosto de 2007
Por miguel el 15 de Agosto de 2007
Por rosvel el 26 de Agosto de 2007
Código :
on (release) { // importamos la clase del paquete flash.net // esta línea es imprescindible para poder crear // el objeto FileReference import flash.net.FileReference; // creamos el objeto var miArchivo:FileReference = new FileReference(); // archivo del servidor que quiero descargar // si es necesario, incluir ruta var url:String = "tuarchivo"; // nombre del archivo en el cuadro de descarga, // el usuario lo puede cambiar var nombre_de_descarga:String = "ejemploLoader1.jpg"; miArchivo.download(url, nombre_de_descarga); }Por Pablodgt el 20 de Septiembre de 2007
Lo probe y un chiche
Por ISACC el 15 de Octubre de 2007
Por waitand el 18 de Octubre de 2007
gracias
Por miguelito el 30 de Octubre de 2007
Por zero el 11 de Noviembre de 2007
Por Manolo_Guzman el 04 de Febrero de 2008
Por martha el 25 de Marzo de 2008
Por Francisco Cambronero el 30 de Marzo de 2008
Me funciona con algunos archivos, pero con otros me baja el archivo sin contenido.
NO se porque
Por Beto Flyer el 27 de Mayo de 2008
Por die el 29 de Mayo de 2008
En mi línea de "actuación mínima", se me ha ocurrido que lo mejor, puede ser hacerlo mediante .HTACCESS, sin necesitar Flash, ni PHP (aunque sí se precisa del server Apache que ejecuta el PHP, mismo requisito que para el tip de Sisco)
El Tip que menciono, se encuentra aquí:
Forzar la descarga de archivos, por .htaccess
Por p el 09 de Junio de 2008
Por sis el 09 de Junio de 2008
Por tjmy el 12 de Junio de 2008
Acabo de darme cuenta, que esto está casi desarrollado en otro tuto (de fael)
Código :
on (release) { // importamos la clase del paquete flash.net // esta línea es imprescindible para poder crear // el objeto FileReference import flash.net.FileReference; // creamos el objeto var miArchivo:FileReference = new FileReference(); // archivo del servidor que quiero descargar // si es necesario, incluir ruta var url:String = "tuarchivo"; // nombre del archivo en el cuadro de descarga, // el usuario lo puede cambiar var nombre_de_descarga:String = "ejemploLoader1.jpg"; miArchivo.download(url, nombre_de_descarga);} Ahora si alguien sabe porque pasa esto que ponga un Post sobre el tema.Por Hector Eduardo el 04 de Septiembre de 2008
Por diego el 21 de Septiembre de 2008
Por daoudi el 30 de Septiembre de 2008
Por FRoilan el 27 de Noviembre de 2008
Por froilan el 27 de Noviembre de 2008
Por miguel marino el 11 de Diciembre de 2008
www.umbralflash.com
Por miguel marino el 11 de Diciembre de 2008
Por Pino el 12 de Diciembre de 2008
respecto a esta solución, hay alguna para que solo descargue y NO PERMITA ABRIR el archivo?
es decir, forzar la descarga sin permitirle abrir antes de eso?.
Sucede que en un programa en php, a veces cuando abren funciona y en otros casos, genera error (en diferentes equipos).
Por hesus el 16 de Marzo de 2009
Una buena opcion seria HEADER(Location: $url);
Espero lo tengan en cuenta
Por luis alberto flores el 16 de Junio de 2009
osea forzar la descargar de la musica cuando hago click en el boton descargar...
Ayudame porfavor amigo!
y que signfica esto amigo o como lo hago..? varDelMp3 != undefined
Por dulcerr el 29 de Septiembre de 2009
import flash.net.FileReference;
var miArchivo:FileReference = new FileReference();
var url:String = "demos/demos/descarga.mp3";
// nombre del archivo en el cuadro de descarga,
// el usuario lo puede cambiar
var nombre_de_descarga:String = "descarga.mp3";
miArchivo.download(url, nombre_de_descarga);
}
Yo estoy utilizando ese codigo para forzar mi descarga de una pista mp3 y esta funcionando perfectamente. Pero me surge una necesidad y es un indicador que me diga el porcentaje de descarga y que diga cuando ha finalizado. Porfavor alguien tendra una respuesta?
te puede ayudaar
Por Pablo el 09 de Febrero de 2010
es decir, donde dice "var de nombre y ruta"
donde escrbo la ruta??
donde el nombre??
una variable con 2 valores????
o sea porfavor pongan un ej con los valores reemplazados por una ruta de mp3 porfavor
Por JUANM el 25 de Febrero de 2010
Por Nikolas el 09 de Mayo de 2010
Por El Chamuko el 02 de Julio de 2010
Por mARCO el 08 de Julio de 2010
mira mi problema cvando introdusco mi mp4 no aparese mi arechivo de descargas
ese es mi problema
Por arturo el 14 de Julio de 2010
y se podra agrgar el conteo de descargar osea q aparesca las vecs q lo han descargado se podra ?????
este es mi msn djwillians@hotmail.es porfavor ayudenme nesecito eso para mi web.
Por egazzaneo el 06 de Abril de 2011
Por carlos el 01 de Diciembre de 2011