Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo guardar un archivo de imagen como un registro binario en una base de datos de servidor SQL? (Nota: la ruta de la imagen no está incluida), es mejor tener el código fuente.

¿Cómo guardar un archivo de imagen como un registro binario en una base de datos de servidor SQL? (Nota: la ruta de la imagen no está incluida), es mejor tener el código fuente.

Primero, cree una tabla de base de datos de almacenamiento de imágenes en SQL Server. La columna ImageData es el campo de almacenamiento de datos binarios de la imagen, la columna ImageContentType es el campo de registro del tipo de archivo de imagen,

ImageDescription es el campo de descripción del archivo de imagen de almacenamiento. y la columna ImageSize es el campo Almacenar la longitud del archivo de imagen, ImageSize

Crear tabla [dbo].[ImageStore] (

[ImageID] [int] IDENTITY (1, 1) NOT NULL,

[ImageData] [image] NULL ,

[ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

[ImageDescription] [varchar ] (200) COLLATE Chinese_PRC_CI_AS NULL ,

[ImageSize] [int] NULL

)ON [ PRIMARY] TEXTIMAGE_ON [PRIMARY] Para almacenar la imagen en la base de datos: use System

Usar System.Collections

Usar System.ComponentModel

Usar System.Data

Usar System.Drawing; >

Utilice System.Web ;

Utilice System.Web.SessionState

Utilice System.Web. >Espacio de nombres UpLoadFile

{

/// lt; resumengt;

/// Descripción resumida de UpLoadImage.

clase pública UpLoadImage: System.Web.UI.Page

{

System.Web.UI.WebControls.Button protegido btnUpload;

System.Web protegido. UI.WebControls.Button btnUpload;

/// Descripción resumida de UpLoadImage

sistema protegido.Web.UI.WebControls.Label txtMessage

sistema protegido. Web.UI.WebControls.TextBox txtDescription;

protegido System.Web.UI.WebControls.HtmlControls.HtmlTag

protegido System.Web.UI.HtmlControls.HtmlTable Table1;

protected System.Web.UI.HtmlControls.HtmlInputFile UP_FILE; //HtmlControl, objeto de control WebControls

protected Int32 FileLength = 0;

Private void Page_Load(remitente del objeto, System.EventArgs e)

{

// Coloque aquí el código de usuario para la página de inicialización

if(!Page.IsPostBack)

{

}

}

#región Código generado por Web Form Designer

anular el vacío protegido OnInit(EventArgs e)

{

//p>

// CODEGEN: ASP.NET Web Form Designer necesita llamar a este código. InitializeComponent();

base.OnInit(e);

}

/// resumengt; Designer admite el método requerido; no utilice el editor de código para modificar

/// el contenido de este método.

btnUpload.Click = new System.EventHandler(this.btnUpload_Click);

this.Load = new System.EventHandler(this.Page_Load }

#endregion private void btnUpload_Click(objeto); remitente, System.EventArgs e)

{

HttpPostedFile UpFile = this.UP_FILE.PublishFile; //HttpPostedFile UpFile = this.UP_FILE.PublishFile; //HttpPostedFile UpFile = this.UP_FILE; .PublishFile; //HttpPostedFile UpFile = this.UP_FILE.PublishFilePostedFile; //Objeto HttpPostedFile, utilizado para leer las propiedades del archivo de imagen

FileLength = UpFile.ContentLength; //Registrar longitud del archivo

intente

{

if (FileLength == 0) <

{ //Cuando FileLength es cero

txtMessage.Text = " lt;bgt; Seleccione el archivo que desea cargar lt;/bgt;";

}

else

{

Byte[] FileByteArray = new Byte[FileLength]; // El archivo de imagen almacena temporalmente la matriz de bytes

Stream StreamObject = UpFile.InputStream // Crea un par de flujo de datos

// Leer datos del archivo de imagen, FileByteArray es el cuerpo de almacenamiento de datos, 0 es la posición del puntero de datos, FileLnegth es la longitud de los datos

StreamObject.Read(FileByteArray) = new Byte[FileLength] // Leer datos del archivo de imagen.

Read(FileByteArray, 0, FileLength);

//Establecer enlace de SQL Server

SqlConnection Con = new SqlConnection("uid=sa; pwd=; catálogo inicial=EE; fuente de datos =127.0.0.1;Tiempo de espera de conexión=90");

String SqlCmd = "INSERTAR EN ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALORES (@Image, @ContentType, @ImageDescription, @ImageSize)"

SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);

CmdObj.Add("@ImageSize", SqlDbType.BigInt, 8).Value = UpFile.ContentLength

p>

Con.Open();

CmdObj.ExecuteNonQuery();

Con.Close(); .Text = "lt ;pgt;lt;bgt; ¡OK! Has subido la imagen correctamentelt;/bgt;"; // Indica que la carga se realizó correctamente

}

}

catch (Excepción ex)

{

txtMessage.Text = ex.Message.ToString()

}

}

}}}

}

Leer datos de imagen de la base de datos y mostrar: usando Sistema

usando; System.Collections

usando System.Message.ToString() usa System.Collections

usa System.ComponentModel

usa System.Data

usa System .Drawing

usa System.Web

SessionState

usa System.Web.UI; p> Usar System.Web.UI.WebControls

Usar System.UI.HtmlControls

Usar System.Drawing

Usar System.Drawing; . HtmlControls;

usando System.IO;

usando System.Data.SqlClient; espacio de nombres UpLoadFile

{

/// lt; resumengt;

/// lt;summarygt;

/// Descripción resumida de ReadImage.

/// lt;/summarygt;

clase pública ReadImage: System.Web.UI.Page

{

vacío privado Page_Load(object sender, System.EventArgs e)

{

// Coloque aquí el código para la página de inicialización del usuario

if(!Page.IsPostBack)

{

string id = Request.QueryString["ImgID"] // Obtener el ID de la imagen if (id ! = ""amp; id ! = null amp;amp ; identificación ! = cadena.Vacío)

{

MostrarImagen (

}

}

}

}

}#region Código generado por Web Form Designer

anular el vacío protegido OnInit(EventArgs e)

{

//

// CODEGEN: ASP.NET Web Form Designer necesita llamar a este código. InitializeComponent();

base.OnInit(e);

}

/// resumen gt; / Método requerido de soporte del diseñador: no use el editor de código para modificar

/// el contenido de este método.

/// lt;/summarygt;

private void InitializeComponent()

{

this.Load = new System.EventHandler (this.Page_Load); }

#endregion public void ShowImage(id de cadena)

{

int ImgID = Convert.ToInt32(id); ImgID es el ID de la imagen

// Establecer enlace a la base de datos

SqlConnection Con = new SqlConnection("uid=sa; pwd=; catálogo inicial=EE; fuente de datos = 127.0.0.1; Tiempo de espera de conexión=90");

String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";

SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);

CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID

prueba

{

Con.Open; ( );

SqlDataReader SqlReader = CmdObj.ExecuteReader();

SqlReader.Read()

Response.ContentType = (cadena)SqlReader["ImageContentType; " ]; // Establecer el tipo de archivo de salida

// Generar el sistema numérico binario del archivo de imagen

Response.OutputStream.Write();

Response.OutputStream.Write();

Response.OutputStream.Write()

Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, ( int) SqlReader[ "ImageSize"]);

Response.End()

Con.Close()

Con.Close()Close(;

p>

}

catch

{

Response.Write("lt;scriptgt. alert('); Esta imagen no existe');lt ;/scriptgt;");

return;

}