Foros del Web » Programando para Internet » ASPX (.net) »

¿Como descargo un archivo?

Estas en el tema de ¿Como descargo un archivo? en el foro de ASPX (.net) en Foros del Web. Hola como andan? Bueno en primer lugar quiero decir que he buscado el tema en el foro, pero como encontre diferentes cosas (FTP, PHP, Visual ...
  #1 (permalink)  
Antiguo 29/03/2010, 05:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación ¿Como descargo un archivo?

Hola como andan? Bueno en primer lugar quiero decir que he buscado el tema en el foro, pero como encontre diferentes cosas (FTP, PHP, Visual Basic) me decidi por preguntar.

Estoy realizando una aplicacion web, empleando C# la cual entre sus funcionalidades permite subir archivos. Este tema lo solucione arrastrando el control correspondiente desde Visual Studio.
Ahora bien, una vez que ya se ha subido, deseo descargarlo, simplemente que al hacer click en un boton (o en donde sea), aparezca el menu (abrir con.. guardar en), el mismo que aparece cuando clickeamos un archivo adjunto en un mail de hotmail.

No entiendo mucho de la plataforma, ni tampoco de XML o algo similar, solo estoy trabajando con la capa correspondinte a C#.

Muchas gracias por su tiempo y colaboracion.
Saludos!
  #2 (permalink)  
Antiguo 29/03/2010, 10:21
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 9 meses
Puntos: 146
Respuesta: ¿Como descargo un archivo?

movido desde asp clásico
  #3 (permalink)  
Antiguo 29/03/2010, 10:28
 
Fecha de Ingreso: octubre-2009
Mensajes: 80
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: ¿Como descargo un archivo?

Nahuelul, se me ocurre que guardes en un bd la ruta de cada archiv que subas y en el momento de mostrar la pagina de descargas con un <a href="&RutaAsp&">Nombre de Archivo</a> es suficiente.

tambien podrias leer todo lo que se encuentra en una carpeta y poner la opcion de descarga asi:

<html>

<head>
<title></title>
</head>

<body>
<FORM name="Form1" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UpLoadScript.asp">
<TABLE cellSpacing=0 cellPadding=4 border=0>
<TR>
<TD>
<INPUT TYPE="FILE" SIZE="40" NAME="FILE1">
<INPUT TYPE=SUBMIT VALUE="Subir" NAME="Submit">
</td>
</tr>
</table>
</FORM>
<%
' File System Object
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")

' "Uploaded" Folder
Dim folder
Set folder = fso.GetFolder(Server.MapPath("Temp"))

If folder.Size > 0 Then
Response.Write "<ul>"
For Each file In folder.Files
Response.Write "<li type=""circle"">"
Response.Write "<a href=""Temp/"
Response.Write file.Name & """>"& file.Name &"</a>"
Response.Write "( Size: " & file.Size & " ) "
Next
Response.Write "</ul>"
Else
Response.Write "<ul><li type=""circle"">No Files Uploaded.</ul>"
End If
%>


</body>

</html>

Este es el script que yo utilizo y funciona bien, el formulario es para subir los archivos y el resto s para mostralos y bajarlos.

Espero te sirva.
  #4 (permalink)  
Antiguo 30/03/2010, 07:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ¿Como descargo un archivo?

Para descargar un archivo es necesario utilizar TransmitFile, mediante el cual se pueden transferir archivos de una maquina a otra

El siguiente código es el que utilizo para descargar mi archivo (puedes ponerlo dentro de un boton o lo q se te ocurra)... Importante: debes tener guardado el nombre del archivo en la base de datos o algo así (sólo el nombre), de modo de poder identificarlo de alguna forma, aunque si ya tienes una forma de obtener el nombre, mucho mejor. Está en Visual Basic, pero es casi idéntico a C#, por lo que debieras adaptarlo un poco:

Cita:
Dim archivo As String = "tuarchivo.txt" 'Debes obtener el nombre de alguna parte
Dim ruta As String

ruta = Server.MapPath("Archivos\") & archivo 'Aca va la ruta
'Lo que viene a continuacion te permite descargar el archivo desde la ruta antes especificada
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", "attachment; filename=" & archivo)
Response.TransmitFile(ruta)
Response.End()
En este caso, la ruta la obtengo con MapPath y el nombre de archivo, el cual me lleva al directorio raiz de mi aplicacion web y posteriormente a la carpeta donde estan los archivos de mi aplicacion, debes adapatarla a lo q necesites


Espero te sirva
Saludos
  #5 (permalink)  
Antiguo 30/03/2010, 12:59
Avatar de okhosting  
Fecha de Ingreso: diciembre-2009
Ubicación: México
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ¿Como descargo un archivo?

Hola, no se si responda a tu pregunta, pero segun leo para descargar el archivo bastaria con que hicieras un Response.Redirect hacia la ruta donde esta guardado tu archivo, por ejemplo http://tudominio.com/tuarchivo.pdf

Si va por ahi tu pregunta? Tu aplicacion es una aplicacion web o de escritorio?

Última edición por okhosting; 30/03/2010 a las 13:09
  #6 (permalink)  
Antiguo 30/03/2010, 13:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ¿Como descargo un archivo?

Cita:
Iniciado por okhosting Ver Mensaje
Hola, no se si responda a tu pregunta, pero segun leo para descargar el archivo bastaria con que hicieras un Response.Redirect hacia la ruta donde esta guardado tu archivo, por ejemplo http://tudominio.com/tuarchivo.pdf

Si va por ahi tu pregunta? Tu aplicacion es una aplicacion web o de escritorio?
Es otra alternativa, pero eso puede ser inseguro, ya que dejas al descubierto la ruta completa de tu aplicación web y no creo que sea bueno dar esas facilidades
  #7 (permalink)  
Antiguo 31/03/2010, 11:28
Avatar de okhosting  
Fecha de Ingreso: diciembre-2009
Ubicación: México
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ¿Como descargo un archivo?

OK

Prueba este codigo, segun yo funciona aunque no lo he probado:

System.Net.WebClient c = new System.Net.WebClient();
c.DownloadFile("http://midominio.com/miarchivo.pdf", @"c:\miarchivo.pdf");

Tambien si lo deseas puedes descargar el archivo mediante FTP usando la libreria edtFTPnet que es open source y viene con funciones para bajar yb subir archivos por ftp.

Suerte!

okhosting.com

Etiquetas: aspx
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:00.