所以我设法设置了一个简单的测试页面来上传图像并将其存储到我的数据库中,但是我不确定存储是否成功。
每当我将图像存储到Image
具有数据类型的列下的表中时Image
,这就是新行中的内容<Binary data>
。这<Binary data>
是图像吗?
我期待它以“0”和“1”显示图像,这样我就可以比较存储的不同项目。但是存储“”是否意味着我的图像已成功存储?
我网站的逻辑是用 c# 编码的。
而且我一直在尝试寻找带有示例的资源,以了解如何检索图像以进行显示。
这是我当前的插入语句
SqlCommand com = new SqlCommand("insert into ImageTotable "
+ "(myphoto,name) values (@photo, @name)", con);
检索数据会这样吗?
SqlCommand com2 = new SqlCommand("Select * from ImageTotable WHERE userid ='1'", con);
因此,如果我使用数据读取器存储所选项目,我可以将图像存储到什么位置以便它显示、标签、图像按钮等?
以及如何将图像存储到变量中?例如,如果我想存储文本,我会使用:
pw = dr["password"].ToString();**
因此,对于图像,它会是什么样子?
编辑:单击事件上的完整按钮以处理图像策略
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=*;Initial Catalog=*;Integrated Security=True");
if (!FileUpload1.HasFile)
{
Label1.Visible = true;
Label1.Text = "Please Select Image File"; //checking if file uploader has no file selected
}
else
{
int length = FileUpload1.PostedFile.ContentLength;
byte[] pic = new byte[length];
FileUpload1.PostedFile.InputStream.Read(pic, 0, length);
try
{
con.Open();
SqlCommand com = new SqlCommand("insert into ImageTotable "
+ "(myphoto,name) values (@photo, @name)", con);
com.Parameters.AddWithValue("@photo", pic);
com.Parameters.AddWithValue("@name", TextBox1.Text);
com.ExecuteNonQuery();
Label1.Visible = true;
Label1.Text = "Image Uploaded Sucessfully"; //after Sucessfully uploaded image
}
finally
{
con.Close();
}
}
}