Como descargar archivos al cliente no al servidor

30/03/2006 - 18:34 por Gustavo N | Informe spam
Hola a todos.

Tengo el siguiente problema, quisiera descargar archivos contenidos en una
libreria de documentos a la maquina del cliente, uso este codigo:

private void CopiarDocumento(string RutaOrigen, string RutaDestino)
{
//Descarga el archivo
System.Net.WebClient objWebClient = new System.Net.WebClient();

objWebClient.Credentials = System.Net.CredentialCache.DefaultCredentials;
objWebClient.DownloadFile(RutaOrigen, RutaDestino);
}

Donde la ruta origen es una url con la direccion del archivo y el nombre de
este
y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
archivo.

El resultado es que descarga los documentos a la ruta origen, pero del
Servidor, yo deseo que estos pasen a la maquina cliente. No al servidor con
SharePoint

Si alguien pudiera decirme que esta faltando lo agradeceria mucho.

Saludos

Preguntas similare

Leer las respuestas

#1 Tako
31/03/2006 - 01:09 | Informe spam
Es que el código que enseñas es código de servidor y como tal ahí se
ejecuta, si quieres bajar algo en el cliente es mucho más fácil que todo
eso: simplemente haces un Page.Response.Redirect(rutaOrigen) y la página Web
que está viendo el cliente se redirija a tu url. Otra opción es generar el
código Javascript para que haga, por ejemplo, un window.open(url) de forma
que se le abra una ventanita nueva.

Suerteeee

Gustavo N wrote:
Hola a todos.

Tengo el siguiente problema, quisiera descargar archivos contenidos
en una libreria de documentos a la maquina del cliente, uso este
codigo:

private void CopiarDocumento(string RutaOrigen, string RutaDestino)
{
//Descarga el archivo
System.Net.WebClient objWebClient = new System.Net.WebClient();

objWebClient.Credentials > System.Net.CredentialCache.DefaultCredentials;
objWebClient.DownloadFile(RutaOrigen, RutaDestino); }

Donde la ruta origen es una url con la direccion del archivo y el
nombre de este
y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
archivo.

El resultado es que descarga los documentos a la ruta origen, pero del
Servidor, yo deseo que estos pasen a la maquina cliente. No al
servidor con SharePoint

Si alguien pudiera decirme que esta faltando lo agradeceria mucho.

Saludos
Respuesta Responder a este mensaje
#2 Gustavo N
31/03/2006 - 01:44 | Informe spam
Hola "Tako", MUCHISIMAS GRACIAS POR RESPONDER.

Ahora me queda claro que debo usar codigo cliente.

La sugerencia de usar Page.Response.Redirect(rutaorigen), envia al
explorador hacia el documento, lo que yo quisiera hacer es descargar el
archivo al disco duro del cliente. de manera que quede en su maquina una
copia, de ser posible en la carpeta especificada. Si pudieras indicarme
alguna manera de realizar esto te lo agradeceria mucho.

Nuevamente gracias

"Tako" escribió:


Es que el código que enseñas es código de servidor y como tal ahí se
ejecuta, si quieres bajar algo en el cliente es mucho más fácil que todo
eso: simplemente haces un Page.Response.Redirect(rutaOrigen) y la página Web
que está viendo el cliente se redirija a tu url. Otra opción es generar el
código Javascript para que haga, por ejemplo, un window.open(url) de forma
que se le abra una ventanita nueva.

Suerteeee

Gustavo N wrote:
> Hola a todos.
>
> Tengo el siguiente problema, quisiera descargar archivos contenidos
> en una libreria de documentos a la maquina del cliente, uso este
> codigo:
>
> private void CopiarDocumento(string RutaOrigen, string RutaDestino)
> {
> //Descarga el archivo
> System.Net.WebClient objWebClient = new System.Net.WebClient();
>
> objWebClient.Credentials > > System.Net.CredentialCache.DefaultCredentials;
> objWebClient.DownloadFile(RutaOrigen, RutaDestino); }
>
> Donde la ruta origen es una url con la direccion del archivo y el
> nombre de este
> y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
> archivo.
>
> El resultado es que descarga los documentos a la ruta origen, pero del
> Servidor, yo deseo que estos pasen a la maquina cliente. No al
> servidor con SharePoint
>
> Si alguien pudiera decirme que esta faltando lo agradeceria mucho.
>
> Saludos



Respuesta Responder a este mensaje
#3 Tako
31/03/2006 - 09:46 | Informe spam
En Web no tienes manera de enviar una dato a su disco duro (con
excepciones), lo normal es redirigirlo a una URL y que le cargue el
documento, el usuario seré el que le de a guardar. Modificando un poco la
cabecera de la Web puedes lograr que al usuario en lugar de cargase
directamente el documento le salga la pantallita de "Guardar como".

Excepciones: Como normalmente si estás en SPS estás en una intranet en
entorno más o menos controlado puedes hacer dos cosas: guardarle el
documento directamente en su disco duro a través de las unidades compartidas
de cada ordenador. O bien utilizar JS en el lado del cliente y guardar el
documento, para esto eso si tendrás que toquetear los permisos de JS en el
Explorer.

Suerteeeee

"Gustavo N" escribió en el mensaje
news:
Hola "Tako", MUCHISIMAS GRACIAS POR RESPONDER.

Ahora me queda claro que debo usar codigo cliente.

La sugerencia de usar Page.Response.Redirect(rutaorigen), envia al
explorador hacia el documento, lo que yo quisiera hacer es descargar el
archivo al disco duro del cliente. de manera que quede en su maquina una
copia, de ser posible en la carpeta especificada. Si pudieras indicarme
alguna manera de realizar esto te lo agradeceria mucho.

Nuevamente gracias

"Tako" escribió:


Es que el código que enseñas es código de servidor y como tal ahí se
ejecuta, si quieres bajar algo en el cliente es mucho más fácil que todo
eso: simplemente haces un Page.Response.Redirect(rutaOrigen) y la página
Web
que está viendo el cliente se redirija a tu url. Otra opción es generar
el
código Javascript para que haga, por ejemplo, un window.open(url) de
forma
que se le abra una ventanita nueva.

Suerteeee

Gustavo N wrote:
> Hola a todos.
>
> Tengo el siguiente problema, quisiera descargar archivos contenidos
> en una libreria de documentos a la maquina del cliente, uso este
> codigo:
>
> private void CopiarDocumento(string RutaOrigen, string RutaDestino)
> {
> //Descarga el archivo
> System.Net.WebClient objWebClient = new System.Net.WebClient();
>
> objWebClient.Credentials >> > System.Net.CredentialCache.DefaultCredentials;
> objWebClient.DownloadFile(RutaOrigen, RutaDestino); }
>
> Donde la ruta origen es una url con la direccion del archivo y el
> nombre de este
> y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
> archivo.
>
> El resultado es que descarga los documentos a la ruta origen, pero del
> Servidor, yo deseo que estos pasen a la maquina cliente. No al
> servidor con SharePoint
>
> Si alguien pudiera decirme que esta faltando lo agradeceria mucho.
>
> Saludos



Respuesta Responder a este mensaje
#4 Gustavo N
31/03/2006 - 17:38 | Informe spam
Hola MUCHISIMAS GRACIAS

Probare con codigo JS.

Te agradesco mucho la respuesta.

Hasta luego

"Tako" escribió:


En Web no tienes manera de enviar una dato a su disco duro (con
excepciones), lo normal es redirigirlo a una URL y que le cargue el
documento, el usuario seré el que le de a guardar. Modificando un poco la
cabecera de la Web puedes lograr que al usuario en lugar de cargase
directamente el documento le salga la pantallita de "Guardar como".

Excepciones: Como normalmente si estás en SPS estás en una intranet en
entorno más o menos controlado puedes hacer dos cosas: guardarle el
documento directamente en su disco duro a través de las unidades compartidas
de cada ordenador. O bien utilizar JS en el lado del cliente y guardar el
documento, para esto eso si tendrás que toquetear los permisos de JS en el
Explorer.

Suerteeeee

"Gustavo N" escribió en el mensaje
news:
> Hola "Tako", MUCHISIMAS GRACIAS POR RESPONDER.
>
> Ahora me queda claro que debo usar codigo cliente.
>
> La sugerencia de usar Page.Response.Redirect(rutaorigen), envia al
> explorador hacia el documento, lo que yo quisiera hacer es descargar el
> archivo al disco duro del cliente. de manera que quede en su maquina una
> copia, de ser posible en la carpeta especificada. Si pudieras indicarme
> alguna manera de realizar esto te lo agradeceria mucho.
>
> Nuevamente gracias
>
> "Tako" escribió:
>
>>
>> Es que el código que enseñas es código de servidor y como tal ahí se
>> ejecuta, si quieres bajar algo en el cliente es mucho más fácil que todo
>> eso: simplemente haces un Page.Response.Redirect(rutaOrigen) y la página
>> Web
>> que está viendo el cliente se redirija a tu url. Otra opción es generar
>> el
>> código Javascript para que haga, por ejemplo, un window.open(url) de
>> forma
>> que se le abra una ventanita nueva.
>>
>> Suerteeee
>>
>> Gustavo N wrote:
>> > Hola a todos.
>> >
>> > Tengo el siguiente problema, quisiera descargar archivos contenidos
>> > en una libreria de documentos a la maquina del cliente, uso este
>> > codigo:
>> >
>> > private void CopiarDocumento(string RutaOrigen, string RutaDestino)
>> > {
>> > //Descarga el archivo
>> > System.Net.WebClient objWebClient = new System.Net.WebClient();
>> >
>> > objWebClient.Credentials > >> > System.Net.CredentialCache.DefaultCredentials;
>> > objWebClient.DownloadFile(RutaOrigen, RutaDestino); }
>> >
>> > Donde la ruta origen es una url con la direccion del archivo y el
>> > nombre de este
>> > y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
>> > archivo.
>> >
>> > El resultado es que descarga los documentos a la ruta origen, pero del
>> > Servidor, yo deseo que estos pasen a la maquina cliente. No al
>> > servidor con SharePoint
>> >
>> > Si alguien pudiera decirme que esta faltando lo agradeceria mucho.
>> >
>> > Saludos
>>
>>
>>



Respuesta Responder a este mensaje
#5 Gustavo N
31/03/2006 - 18:50 | Informe spam
Hola
Nuevamente con una inquietud, he observado que una libreria de documentos
tiene la funcionalidad de hacer Copy Paste hacia la maquina del cliente,
habra alguna manera de aprovechar esto programaticamente con un objeto de
SharePoint para descargar los archivos hacia el cliente mediante una web Part?

Muchas Gracias

Saludos a todos

"Gustavo N" escribió:

Hola MUCHISIMAS GRACIAS

Probare con codigo JS.

Te agradesco mucho la respuesta.

Hasta luego

"Tako" escribió:

>
> En Web no tienes manera de enviar una dato a su disco duro (con
> excepciones), lo normal es redirigirlo a una URL y que le cargue el
> documento, el usuario seré el que le de a guardar. Modificando un poco la
> cabecera de la Web puedes lograr que al usuario en lugar de cargase
> directamente el documento le salga la pantallita de "Guardar como".
>
> Excepciones: Como normalmente si estás en SPS estás en una intranet en
> entorno más o menos controlado puedes hacer dos cosas: guardarle el
> documento directamente en su disco duro a través de las unidades compartidas
> de cada ordenador. O bien utilizar JS en el lado del cliente y guardar el
> documento, para esto eso si tendrás que toquetear los permisos de JS en el
> Explorer.
>
> Suerteeeee
>
> "Gustavo N" escribió en el mensaje
> news:
> > Hola "Tako", MUCHISIMAS GRACIAS POR RESPONDER.
> >
> > Ahora me queda claro que debo usar codigo cliente.
> >
> > La sugerencia de usar Page.Response.Redirect(rutaorigen), envia al
> > explorador hacia el documento, lo que yo quisiera hacer es descargar el
> > archivo al disco duro del cliente. de manera que quede en su maquina una
> > copia, de ser posible en la carpeta especificada. Si pudieras indicarme
> > alguna manera de realizar esto te lo agradeceria mucho.
> >
> > Nuevamente gracias
> >
> > "Tako" escribió:
> >
> >>
> >> Es que el código que enseñas es código de servidor y como tal ahí se
> >> ejecuta, si quieres bajar algo en el cliente es mucho más fácil que todo
> >> eso: simplemente haces un Page.Response.Redirect(rutaOrigen) y la página
> >> Web
> >> que está viendo el cliente se redirija a tu url. Otra opción es generar
> >> el
> >> código Javascript para que haga, por ejemplo, un window.open(url) de
> >> forma
> >> que se le abra una ventanita nueva.
> >>
> >> Suerteeee
> >>
> >> Gustavo N wrote:
> >> > Hola a todos.
> >> >
> >> > Tengo el siguiente problema, quisiera descargar archivos contenidos
> >> > en una libreria de documentos a la maquina del cliente, uso este
> >> > codigo:
> >> >
> >> > private void CopiarDocumento(string RutaOrigen, string RutaDestino)
> >> > {
> >> > //Descarga el archivo
> >> > System.Net.WebClient objWebClient = new System.Net.WebClient();
> >> >
> >> > objWebClient.Credentials > > >> > System.Net.CredentialCache.DefaultCredentials;
> >> > objWebClient.DownloadFile(RutaOrigen, RutaDestino); }
> >> >
> >> > Donde la ruta origen es una url con la direccion del archivo y el
> >> > nombre de este
> >> > y la Ruta destino es una cadena como: "C:\\Comisiones" + el nombre del
> >> > archivo.
> >> >
> >> > El resultado es que descarga los documentos a la ruta origen, pero del
> >> > Servidor, yo deseo que estos pasen a la maquina cliente. No al
> >> > servidor con SharePoint
> >> >
> >> > Si alguien pudiera decirme que esta faltando lo agradeceria mucho.
> >> >
> >> > Saludos
> >>
> >>
> >>
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida