我是菜鸟,请高手指点!!
我现在做了一个web页面,有一个数据库表,表里有图片名称,图片。<tr>
<td >
图片名称: </td>
<td >
<asp:TextBox ID="Tb_name" runat="server"> </asp:TextBox> </td>
</tr>
<tr>
<td>
图片: </td>
<td>
<input id="imagefile" runat="server" type="file" /> </td>
</tr>
我现在需要把图片名称填写好和图片选择好后,点击一个button按钮就可以把图片名称和图片都写到数据库中,我该怎么办?
protected void Button1_Click(object sender, EventArgs e)
{
这里面的代码应该怎么写,谢谢!!!最好有注释,谢谢谢谢!!!
} --------------------编程问答--------------------
string fileName = imagefile.PostedFile.FileName;
string imgcontenttype = imagefile.PostedFile.ContentType;
System.IO.Stream imstream = imagefile.PostedFile.InputStream;
byte[] filedata = null;
imstream.Read(filedata, 0, imstream.Length);
string connstr = ConfigurationManager.ConnectionStrings["test"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connstr))
{
SqlCommand cmd = new SqlCommand("insert into imagestable(filename,contenttype,filedata) values(@filename,@contenttype,@filedata)", conn);
cmd.Parameters.Add("@filename",SqlDbType.VarChar,100);
cmd.Parameters.Add("@contenttype",SqlDbType.VarChar,100);
cmd.Parameters.Add("@filedata",SqlDbType.Image);
cmd.Parameters[0].Value = fileName;
cmd.Parameters[1].Value = imgcontenttype;
cmd.Parameters[2].Value = filedata;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
大致就是这样,代码没测试可能会有问题。 --------------------编程问答-------------------- 编译器错误信息: CS1502: 与“System.IO.Stream.Read(byte[], int, int)”最匹配的重载方法具有一些无效参数,我应该如何改正。谢谢!!!
--------------------编程问答-------------------- 我有点看不懂,请高手门多多指点!!!谢谢谢谢!!! --------------------编程问答-------------------- byte[] filedata = null;
改成
byte[] filedata = new byte[imstream.Length];
好像是这样,没测试过
补充:.NET技术 , C#