我可以使用varbinary存储图像的类型SQL Server数据库中吗?
技术问答
327 人阅读
|
0 人回复
|
2023-09-14
|
我正在尝试将图像存储在SQL Server应该在数据库中使用哪种类型的数据?
+ K4 O f2 D9 \) ^ t J3 e7 N在以下内容中code aspx.cs,我试图从请求输入流中读取所有字节并将其存储在数据库中,但应该是byte[]表中没有正确更新数组。我想念什么?7 p4 \8 ~' U& J9 F
protected void Page_Load(object sender,EventArgs e){ Request.InputStream.Position = 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 = 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); ! K/ B) V2 D. M7 \7 _
解决方案: 6 Q6 |" E+ D" S" _
可以用可以用VARBINARY是的。你最好去VARBINARY(MAX)存储它们。
5 n' l$ d2 n3 ~4 Z2 ~可以这样使用:, @) M) O; y! _9 A9 u
cmd.Parameters.Add("@imageBytes",SqlDbType.VarBinaryMax);cmd.Parameters["@imageBytes"].Value = Contents; |
|
|
|
|
|