Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie speichert man ein Bild in einer Bildspalte?

Hier ist ein Beispielcode zum Speichern von Bildern auf einem SQL-Server:

SqlConnection conn = new SqlConnection(connectionString);

try
{
    int imageLength = uploadInput.PostedFile.ContentLength;
    byte[] picbyte = new byte[imageLength];
    uploadInput.PostedFile.InputStream.Read (picbyte, 0, imageLength);

    SqlCommand command = new SqlCommand("INSERT INTO ImageTable (ImageFile) VALUES (@Image)", conn);
    command.Parameters.Add("@Image", SqlDbType.Image);
    command.Parameters[0].Value = picbyte;

    conn.Open();
    command.ExecuteNonQuery();
    conn.Close();
}
finally
{
    if (conn.State != ConnectionState.Closed)
    {
        conn.Close();
    }
}

HINWEIS: uploadInput ist ein Dateieingabesteuerelement, um eine Bilddatei auf den Server hochzuladen. Der Code einer ASP.NET-Anwendung.

BEARBEITEN : Hier ist das Einfügeskript für eine Spalte mit Bildtyp:

INSERT INTO ImageTable (ImageColumn)

SELECT ImageColumn FROM 
OPENROWSET(BULK N'C:\SampleImage.jpg', SINGLE_BLOB) 
AS ImageSource(ImageColumn);