c# 用截图工具把图片截到了picturebox1.image中了,想把这个picturebox1中的图片存储到sql中,请问怎么存?

c#用截图工具把图片截到了picturebox1.image中了,想把这个picturebox1中的图片存储到sql中,请问怎么存?我知道是先把图片转换成二进制,再存储,... c# 用截图工具把图片截到了picturebox1.image中了,想把这个picturebox1中的图片存储到sql中,请问怎么存?我知道是先把图片转换成二进制,再存储,但是找了好久都没解决!希望能有详细的代码!
解决问题悬赏50,拜托了。。。
展开
 我来答
Q20100309Q
2012-06-29 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:109万
展开全部
下面的代码是在winform里做的,C#,应该符合你的要求--“把图片转换成二进制,再存储”

private void button1_Click(object sender, EventArgs e)
{
byte[] imageBytes = GetImageBytes(pictureBox1.Image);//GetImageBytes()是自定义函数,见下面

string connStr = @"Data Source=JNITDEV\SQLEXPRESS;Initial Catalog=Picture;Integrated Security=True";

using (SqlConnection conn = new SqlConnection(connStr))
{
string sql = "Insert Into T_Img Values (@ImgData) ";
using (SqlCommand cmd = new SqlCommand(sql))
{
SqlParameter param = new SqlParameter("ImgData", SqlDbType.VarBinary, imageBytes.Length);
param.Value = imageBytes;
cmd.Parameters.Add(param);

cmd.Connection = conn;
conn.Open();
int i = cmd.ExecuteNonQuery();
MessageBox.Show(“插入记录的条数” + i.ToString());
}
}
}
private byte[] GetImageBytes(Image image)
{
MemoryStream mstream = new MemoryStream();
image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byteData, 0, byteData.Length);
mstream.Close();
return byteData;
}
追问
兄弟,还差一点点,
GetImageBytes()自定义函数
提示:
不可访问,因为它受保护级别限制
追答
不明白你说的。受保护级别?能说一下是哪个对象或者其他什么东西提示受保护级别吗。能给个报错的截图么,详细点的。
不想太帅噢
2012-06-29 · TA获得超过196个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:159万
展开全部
我喜欢用路径来存
做法是:利用FileUpload
string filepath = FileUpload1.PostedFile.FileName;//路径
string filename = FileUpload1.FileName;//文件名,不带路径
string fileEx = filepath.Substring(filepath.LastIndexOf(".")+1);//取得后缀名
if(fileEx=="jpg"||fileEx=="bmp"||fileEx=="gif"){//规定图片格式
string serverpath = Server.MapPath("~/images/") + filename;//保存文件路径
FileUpload1.PostedFile.SaveAs(serverpath);//上传到服务器,先新建一个images文件夹来存放图片

string name = this.username.Text.ToString();//获取姓名
string content1 = this.content.Text.ToString();//获取内容
string photo = serverpath;//获取文件路径
这样就可以把图片上传到images文件夹里面,还获取到了路径,然后就利用sql插入语句插进数据库,

读取的时候:<img alt='<%#Eval("id") %>' src='<%#Eval("photodata") %>' />
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式