En realidad cuando “abris” un archivo desde la web siempre te lo baja a una carpeta temporal
Claro, en el servidor no se crea nada….en realidad lo que se hace es lo siguiente (es nuestro caso)
1) Response.Clear();
2) Response.ContentType = ContentType;
3) Response.OutputStream.Write(FileData, 0, FileSize);
4) Response.End();
Siendo ContentType el tipo de contenido (en el caso de PDF application/pdf), FileData el contenido del PDF y FileSize el tamaño del archivo
ruta_exportacion =
Path.GetTempPath();//aca obtengo %tmp% del serverExportOptions
exportOpts = new ExportOptions(); DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();diskOpts.DiskFileName = tmpFilePath;
exportOpts.DestinationOptions = diskOpts;
A las líneas de código que mandé Hernán le agregás:
Response.AddHeader("Content-Disposition", "attachment;
filename=ejemplo.cvs");
Saludos,
Pedro
Martín Salías escribió:
> Oscar, si generás el archivo físicamente (en lugar de generar la
> stream derecho), podés hacer que el cliente lo baje, y después
> borrarlo en algún momento.
>
> Donde vaya a parar en el cliente no podés controlarlo vos. Si lo abre
> sin bajarlo va a parar por default al Temp folder que le toque en
> Windows. Si lo baja, lo baja a donde él quiera. Esto es así y no hay
> manera porque desde el servidor no podés controlar el File System del
> cliente. Sería un agujero de seguridad.
>
> Saludos,
> ---
> Martín Salías
> http://Salias.com.ar
>
>
>
> 2008/9/23 Don_Pipo Torres M. <osto...@gmail.com
> <mailto:osto...@gmail.com>>
>
> Es muy parecedo la forma de crear el pdf, solo que tengo unas
> lineas de codigo para crear el archivo en una carpeta esta la
> obtenego
>
>
> ruta_exportacion =
>
> Path.GetTempPath();//aca obtengo %tmp% del server
>
> ExportOptions
>
> exportOpts = new ExportOptions(); DiskFileDestinationOptions
> diskOpts = new DiskFileDestinationOptions();
> string tmpFilePath = ruta_exportacion +
> pagina.Session.SessionID.ToString() + ".pdf";
>
> diskOpts.DiskFileName = tmpFilePath;
>
> exportOpts.DestinationOptions = diskOpts;
>
>
>
> 2008/9/23 Hernán Zaldívar <hzal...@fyo.com
> <mailto:hzal...@fyo.com>>
>
> Claro, en el servidor no se crea nada….en realidad lo que se
> hace es lo siguiente (es nuestro caso)
>
> 1) Response.Clear();
>
> 2) Response.ContentType = ContentType;
>
> 3) Response.OutputStream.Write(FileData, 0, FileSize);
>
> 4) Response.End();
>
>
>
> Siendo ContentType el tipo de contenido (en el caso de PDF
> application/pdf), FileData el contenido del PDF y FileSize el
> tamaño del archivo
>
> ------------------------------------------------------------------------
>
>
>
> *De:* c#@mug.org.ar <http://mug.org.ar/> [mailto:c
> <mailto:c>#@mug.org.ar <http://mug.org.ar/>] *En nombre de
> *Don_Pipo Torres M.
> *Enviado el:* Martes, 23 de Septiembre de 2008 12:55 p.m.
>
> *Para:* Hernán Zaldívar
> *Asunto:* [c#] Crear pdf en el carpeta temporal del Cliente
>
>
>
> Hernan,
>
>
>
> pero en el servido crea el mismo temporal?
>
>
>
> es posible que no cree nada en el servidor y siempre en el
> cliente?
>
> 2008/9/23 Hernán Zaldívar <hzal...@fyo.com
> <mailto:hzal...@fyo.com>>
>
> En realidad cuando "abris" un archivo desde la web siempre te
> lo baja a una carpeta temporal
>
>
>
> ------------------------------------------------------------------------
>
> *De:* c#@mug.org.ar <http://mug.org.ar/> [mailto:c
> <mailto:c>#@mug.org.ar <http://mug.org.ar/>] *En nombre de
> *Don_Pipo Torres M.
> *Enviado el:* Martes, 23 de Septiembre de 2008 11:57 a.m.
> *Para:* Hernán Zaldívar
> *Asunto:* [c#] Crear pdf en el carpeta temporal del Cliente
>
>
>
> Estimados,
>
>
>
> me he fijado que muchas aplicaciones "ASP.NET
> <http://asp.net/>" crean archivos temporales en el cliente,