estoy desarrollando una aplicación web en la que necesito almacenar archivos de imagen y algunos otros documentos en una base de datos y luego tengo que mostrarlos en una página web preferiblemente en un cuadro de imagen. He almacenado imágenes en la base de datos y también archivos PDF en forma de matriz de bytes y he usado un Generic Handler para obtener una matriz de bytes de la base de datos y luego mostrarlos en un cuadro de imagen. Funciona bien para las imágenes pero no funciona con archivos PDF .¿Cómo mostrar la matriz btye de PDF almacenada en SQL Server a asp.net WebForm en un cuadro de imagen?
public class ShowImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Int32 imgID;
if (context.Request.QueryString["id"] != null)
imgID = Convert.ToInt32(context.Request.QueryString["id"]);
else
throw new ArgumentException("No parameter specified");
context.Response.ContentType = "image/jpeg";
byte[] buffer = ShowEmpImage(imgID);
context.Response.BinaryWrite(buffer);
}
public Stream ShowEmpImage(int empno)
{
dbClass db = new dbClass();
string sql = "SELECT imgfile FROM myFiles WHERE id = @ID";
SqlCommand cmd = new SqlCommand(sql, db.con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ID", empno);
object img = null;
try
{
db.Connect();
img = cmd.ExecuteScalar();
}
catch
{
return null;
}
finally
{
db.Disconnect();
}
return new MemoryStream((byte[])img);
}
public bool IsReusable
{
get
{
return false;
}
}
}
favor me guía cómo puedo mostrar archivos PDF y otros archivos en el cuadro de imagen? En realidad, el problema es que mi aplicación se ejecuta con la aplicación existente y que no tiene forma de almacenar extensiones de archivos, así que la única forma de que pueda mostrar archivos es "mostrarlos como una imagen", pero si es una mejor manera, entonces ayúdenme amigos. .
dime cómo puedo mostrarlo sin límite de navegador? Necesito mostrar ambos archivos de imagen o PDF en mi página web, ¿cuál es la mejor manera de mostrarlos en la página web? –
@AqEeL si desea visualizar una * imagen * del PDF, quizás [consulte aquí] (http://stackoverflow.com/questions/1255322/create-pdf-thumbnail-with-c-sharp). De otra manera; utilice un '
gracias por su ayuda, pero no funcionó para mi caso. si tiene algún conocimiento más específico, entonces dígame que estaré agradecido –