C# ASP.NET 如何从数据库中读取出Image,加载html的image控件中。有源代码最好。

现在,我在数据库表中有一个Photo字段是Image类型的。我数据库是用Linq和其打交道的。而使用AJAX+JQuery在前台将数据库中的图片加到img控件中。不要说直... 现在,我在数据库表中有一个Photo字段是Image类型的。我数据库是用Linq和其打交道的。而使用AJAX+JQuery在前台将数据库中的图片加到img控件中。不要说直接保存图片地址。因为那样不安全。各位高手请指教。 展开
 我来答
zeizeizhu
2011-03-10
知道答主
回答量:34
采纳率:0%
帮助的人:25.3万
展开全部
首先,创建一个数据库,用来保存图片,这只是个演示,所以一切从简。
create database MyDb
use MyDb
create table MyPhoto
(

id int primary key,
photo image //图片使用image 类型

)

然后,创建一个Windows应用程序,添加一个openFileDialog,一个 pictureBox,一个button(button 1的Text属性改为"上传")。

由于需要对文件操作,引入System.IO命名空间。对数据库操作当然要引入System.Data.SqlClient啦。基本思路就是将图片转化为字节数组保存起来,这时需要BinaryReader读取二进制字节。

代码部分:
——————————————————————————————————

using System.IO;
using System.Data.SqlClient;

namespace 如何将图片存入数据库
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string fullpath = openFileDialog1.FileName;//获取文件对话框中选定的文件名的字符串,包括文件路径
FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read);
byte[] imagebytes = new byte[fs.Length];//fs.Length文件流的长度,用字节表示
BinaryReader br = new BinaryReader(fs);//二进制文件读取器
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//从当前流中将count个字节读入字节数组中
SqlConnection conn = new SqlConnection("server=.\\sqlexpress;initial catalog=MyDb;integrated security=true");
conn.Open();
SqlCommand cmd = new SqlCommand("insert into MyPhoto values(@id,@Image)", conn);
cmd.Parameters.Add("@id", SqlDbType.Int, 4);
cmd.Parameters.Add("@Image", SqlDbType.Image);
cmd.Parameters["@id"].Value = 1;
cmd.Parameters["@Image"].Value = imagebytes;
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("图片上传成功");
}
}

}

参考资料: http://zhidao.baidu.com/question/98134223.html

85532732
2011-03-10 · TA获得超过114个赞
知道答主
回答量:249
采纳率:100%
帮助的人:130万
展开全部
想安全就用2进制保存图片到数据库里,然后读出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式