Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/09/2007, 15:23
JocDev
 
Fecha de Ingreso: noviembre-2004
Ubicación: Asuncion - Paraguay
Mensajes: 155
Antigüedad: 19 años, 6 meses
Puntos: 0
Mostrar Archivo

Utilizo el siguiente codigo para mostrar un archivo que funciona localmente y cuando pongo en produccion no. Los clientes no ven los archivos pero en el servidor que contiene la aplicacion se puede ver el archivo generado espero haberme explicado gracias desde ya.

protected override void Render(HtmlTextWriter writer)
{
Response.Clear();
Response.Charset = string.Empty;
Response.ClearContent();
Response.ClearHeaders();
this.EnableViewState = false;

int idArchivo = -1;
if (Request["ID"] != null)
{
if (!int.TryParse(Request["ID"].ToString(), out idArchivo))
idArchivo = -1;
else
{
//vamos a mostrar el archivo 0 sino tiene que es una imagen por defecto
if (idArchivo == -1)
idArchivo = 0;
}
}
bool mostrarMiniatura = true;
if(Request["O"] != null)
mostrarMiniatura = Request["O"].ToString() != "1";
string descargar = string.Empty;
if (Request["D"] != null)
descargar = Request["D"].ToString();

if (idArchivo != -1)
{
Archivo_Entidad arc = Archivo.ObtenerMultimedia(null, idArchivo, mostrarMiniatura, BaseDatos.ObtenerMultimedia(0));
if (arc != null)
{
if (descargar != null && descargar == "1")
Response.AddHeader("content-disposition", "attachment; filename=" + arc.IdArchivo.ToString() + "." + arc.Mime.Extension);

Response.ContentType = arc.Mime.Descripcion;

if (arc.Mime.Descripcion.Trim().StartsWith("image/"))
{
//Es imagen
System.Drawing.Image imagen;

if (mostrarMiniatura)
imagen = Imagen.ConvertToImagen(arc.Prevista);
else
imagen = Imagen.ConvertToImagen(arc.Archivo);

imagen.Save(Response.OutputStream, Imagen.GetImageFormat(arc.Mime.Extension));
}
else
{

if (mostrarMiniatura)
{
if (arc.Prevista != null)
Context.Response.OutputStream.Write(arc.Prevista, 0, arc.Prevista.Length);
}
else
{
if (arc.Archivo != null)
Context.Response.OutputStream.Write(arc.Archivo, 0, arc.Archivo.Length);
0);
}
}
}
}
}