asp.net中如何保存图片对象

我要的是保存图片本身,不是通过保存它的地址来保存或取出图片... 我要的是保存图片本身,不是通过保存它的地址来保存或取出图片 展开
 我来答
夜晚回家
推荐于2016-08-16 · TA获得超过1175个赞
知道答主
回答量:144
采纳率:0%
帮助的人:79.6万
展开全部
将图片保存到数据库中:
【步骤1】以二进制方式读取图像文件
//利用FileStream读取制定路径的文件
FileStream fs = new FileStream(this.txtImagePath.Text, FileMode.Open);
int iLength = int.Parse(fs.Length.ToString());//获取当前文件的长度
Byte[] fileByte = new Byte[iLength];//创建一个byte[]的数组,用来保存文件的内容
fs.Read(fileByte, 0, iLength);//通过Read方法,把文件的内容读取到byte[]数组中。
fs.Dispose();
【步骤2】将信息插入到数据库中
SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;database=ImageDataBase;uid=sa");
//插入数据库
string strSql = "Insert Into tbl_Image (ImageFile) Values(@img)";
SqlCommand cmd = new SqlCommand(strSql, conn);
cmd.Parameters.Add("@img", SqlDbType.Image, iLength).Value = fileByte;
//通过赋值保存的图片的参数的值,为SqlDbType.Binary
conn.Open(); //打开连接
cmd.ExecuteNonQuery(); //执行命令
conn.Close();

将图片从数据库中读取显示:
【步骤1】从数据库中读取Image字段信息
Byte[] fileContent;
using (SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;database=ImageDataBase;uid=sa;pwd=12345")){
string strSql = "select ImageFile from tbl_Image";
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
//以上步骤完成一般的SqlCommand的命令的执行,
//返回了一个SqlDataReader把图片的内容赋值到一个byte[]数组上。
if (dr.Read()) {
fileContent = (Byte[])dr["ImageFile"];
}else {
fileContent = new Byte[0];
}
dr.Close();
}
【步骤2】将二进制信息显示在PictureBox控件中
//通过内存流MemoryStream,
//把byte[]数组fileContent加载到Image中并赋值给图片框的Image属性,
//让数据库中的图片直接显示在窗体上。
MemoryStream ms = new MemoryStream(fileContent, 0, fileContent.Length);
this.pbShowImage.Image = Image.FromStream(ms);
//关闭内存流
ms.Close();

参考资料: http://www.dingos.cn/index.php?topic=982.0

小展厅
2010-06-03
知道答主
回答量:77
采纳率:0%
帮助的人:28.3万
展开全部
<form id="form1"method="post"runat="server">
<Asp:Hyperlink
id="Hyperlink1"
Runat="server"
ImageUrl="图片存储的位置"
NavigateUrl="你要连接的位置"
/>
</form>
private void page_load(object sender ,System.EventArgs e)
{
添加你要保留的 并用语句表示 就OK

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shutao917
2010-06-09 · TA获得超过1213个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:3137万
展开全部
用byte数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式