求一个 把图片上传到数据库上 然后从数据库读取改图片到页面上的详细方法

sunwenfei914 2010-08-12 05:03:24
1。把图片上传到数据库上
2 然后从数据库读取改图片到页面上的详细方法

...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwfgu00ing 2010-08-12
  • 打赏
  • 举报
回复
文件里面有这些属性的啊,也有智能提示,像文件名,创建日期,可读。。
wuyq11 2010-08-12
  • 打赏
  • 举报
回复
if (FileUpload1.HasFile)
{
string ServerPath = Server.MapPath("~/Img/") + ImgName;
FileUpload1.PostedFile.SaveAs(ServerPath);
using(SqlConnection con = new SqlConnection(""))
{
con.Open();
SqlCommand com = new SqlCommand("insert into test(image) values('" + ImgName + "')", con);
}

}

显示Image1.ImageUrl=ResolveUrl("~/img/")+dr["image"].ToString());
LiuK_Moon 2010-08-12
  • 打赏
  • 举报
回复
40分太少了点,我有详细的代码,80分我就给你发
loveyan924 2010-08-12
  • 打赏
  • 举报
回复
图片上传到数据库的话,是需要先把图片转为2进制,然后存进数据库的,,

不过一般不这样做,都是把图片放在项目里的某一个文件夹中,然后把图片的名字存进数据库中,,

读取的时候,读取数据库里图片的名字,然后拼接图片的路径,赋值给image控件,这样图片就可以显示了。。
Ring1981 2010-08-12
  • 打赏
  • 举报
回复
一、保存至数据库

byte[] bytes = sdr[14] is DBNull ? null :
sdr.GetSqlBinary(14).Value;
if (bytes == null ||
bytes.Length == 0)
{
book.BooksImage = null;
}
else
{
MemoryStream ms = new MemoryStream(bytes);
book.BooksImage = Image.FromStream(ms);
ms.Close();
}

二、保存至数据库

byte[] bytes=null;
if(book.BooksImage!=null)
{
book.BooksImage.Save("temp.dat");
FileStream fs=new FileStream("temp.dat",FileMode.Open);
bytes=new byte[fs.Length];
fs.Read(bytes,0,bytes.Length);
fs.Close();
}
sp[13]=new SqlParameter("@BookImage",bytes);
i = DBHelper.ExecuteNonQuery(INSERT, CommandType.Text, sp);

三、窗口修改时,需要注意的地方(其它信息修改,图片未改会报错):

if (picBook.Image != null)
{
Bitmap img = new Bitmap(picBook.Image.Width, picBook.Image.Height);
Graphics g = Graphics.FromImage(img);
g.DrawImage(picBook.Image, new Point(0, 0));
img.Save("a.dat");
FileStream fs = new FileStream("a.dat",FileMode.Open);
byte[] bs = new byte[fs.Length];
fs.Read(bs, 0, bs.Length);
b.BookImage = Image.FromStream(fs);
fs.Close();
}

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧