Foros del Web » Programando para Internet » ASP Clásico »

Descarga de un fichero creado dinamicamente

Estas en el tema de Descarga de un fichero creado dinamicamente en el foro de ASP Clásico en Foros del Web. Hola a todos: quiza sea muy sencillo pero a mi no se me ocurre como descargar un fichero que creo dinamicamente. Es una opcion de ...
  #1 (permalink)  
Antiguo 29/07/2003, 05:09
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 22 años, 7 meses
Puntos: 0
Descarga de un fichero creado dinamicamente

Hola a todos:

quiza sea muy sencillo pero a mi no se me ocurre como descargar un fichero que creo dinamicamente.

Es una opcion de la pagina de mi firma, en la que anteriormente creaba un html por cada letra nueva. Desde hace un tiempo inserto las letras en una bd, y necesito que se pueda descargar ese asp que muestra la letra de la cancion, pero no se me ocurre como.

He buscado en este subforo pero no he encontrado nada al respecto, ya sea porque no se ha consultado esto o porque no he buscado correctamente.

¿Alguna sugerencia?

Gracias con antelacion. Nos vemos...
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #2 (permalink)  
Antiguo 30/07/2003, 05:11
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años
Puntos: 1
No se si te he entendido bien, pero la cosa parece sencilla.

Cuando seleccionen una canción, el formulario tomará el valor de su identificador para enviarselo a la página que muestra la letra.

Esta página debe tomar el parametro de entrada, conectar a la bd, seleccionar el registro que pertenece a ese identificador, leer el campo que contiene la letra de la canción y mostrarla.

Es eso lo que quieres hacer?
  #3 (permalink)  
Antiguo 30/07/2003, 06:17
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 22 años, 7 meses
Puntos: 0
si pero no... no debe mostrarla sino que la persona se la descargue como un html, por ejemplo

lo de mostrarla ya lo hago actualmente
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #4 (permalink)  
Antiguo 30/07/2003, 14:10
Avatar de buliwyf  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 221
Antigüedad: 22 años, 5 meses
Puntos: 1
a mi en algun momento me ocurrio eso y lo solucione creando un txt a partir de la bd, luego solo escribes estas lineas:

<%
Response.ContentType = "application/unknown"
Response.AddHeader "content-disposition", "attachment; filename=tu_id_de_cancion.txt"
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Open
Stream.LoadFromFile server.mappath("/"&filename)
Response.BinaryWrite Stream.ReadText
Stream.Close
Set Stream = Nothing
%>
__________________
RTFM antes de preguntar...
  #5 (permalink)  
Antiguo 30/07/2003, 17:59
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 22 años, 7 meses
Puntos: 0
¿quieres decir que debo crear un txt a partir de cada cancion?

uffffffff

te agradeceria que me explicases mas al detalle esta alternativa
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #6 (permalink)  
Antiguo 30/07/2003, 22:00
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
otra posibilidad es crear un archivo ASP "simplificado" (es decir, sólo con responseS.writeS de la letra) y agregar cabeceras que especifiquen un "mime type" de, por ejemplo, word.

Con esto lográs que el navegador interprete la página como un documento DOC y lo intente "abrir desde la ubicación actual o bajar a disco" (dependiendo de la configuración del cliente mostrará o no dicho mensaje)

Aunque para mi la mejor opción es la que buliwyf comenta
__________________
...___...
  #7 (permalink)  
Antiguo 31/07/2003, 03:51
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 22 años, 7 meses
Puntos: 0
pero aun no me habeis aclarado si es necesario crear un txt por cada cancion manualmente
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #8 (permalink)  
Antiguo 22/08/2003, 04:27
 
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
Prueba con este codigo dentro de un asp

'* Creacion del fichero temporal
Set cnnTest = Server.CreateObject ("adodb.connection")

cnnTest.Open "Cadena de conexion a tu base de datos ODBC"

strSQL = "SELECT CampoNombreCancion,CampoLetra FROM TablaCanciones WHERE campo = valor

Set rsTest = cnnTest.Execute(strSQL)


Dim strOutput

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Fichero = rsTest("CampoNombreCancion") & ".txt"

Set objFile = objFSO.CreateTextFile(strOutput & Fichero)

strLine = strLine & rsTest1("CampoLetra") & VbCrLf



objFile.WriteLine strLine


'* Grabacion en el cliente del fichero
Set objFile = Nothing
Dim strFilePath, strFileName
Const adTypeBinary = 1
strFilePath = strOutput & Fichero
strFileName = Fichero
Response.Clear
dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
ContentType = "application/unknown"
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
  #9 (permalink)  
Antiguo 22/08/2003, 04:46
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 22 años, 7 meses
Puntos: 0
gracias sferrerj, lo probare...

saludos
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:14.