Próbuję zapisać obraz w mojej bazie danych SQL Server, jakiego typu powinienem użyć?Czy mogę użyć typu varbinary do przechowywania obrazu w bazie danych SQL Server?
W poniższym code aspx.cs
próbuję odczytać wszystkie bajty z żądania strumienia wejściowego i zapisać go w bazie danych, ale tablica byte[]
nie jest poprawnie aktualizowana w tabeli. Czy czegoś brakuje?
protected void Page_Load(object sender, EventArgs e)
{
Request.InputStream.Position = 0;
byte[] Contents = new byte[Request.InputStream.Length];
Request.InputStream.Read(Contents, 0, (int)Request.InputStream.Length);
con.Open();
try
{
string query = "update tblImageUpload set " + IMAGE_ID + " = @imageBytes where Image_ID='" + CID + "'";
int i = 0;
using (cmd = new SqlCommand(query, con))
{
cmd.Parameters.Add("@imageBytes", SqlDbType.VarBinary, Contents.Length).Value = Contents;
i = cmd.ExecuteNonQuery();
}
Response.Write("Upload Query = " + query);
Response.Write("Upload Code = " + i);
} catch (Exception ex) {
Response.Write("Upload Code=" + ex);
}
'można użyć varbinary (max)' przepraszam literówka – MethodMan