asp.net实现存储和读取数据库图片

作者:merciaMA 时间:2024-01-19 06:56:32 

本文实例为大家分享了asp.net存储和读取数据库图片的具体代码,供大家参考,具体内容如下

1. 创建asp.net web窗体项目

代码如下:


<body>
 <form id="form1" runat="server">
   <h2>上传图片</h2>
   <div>
     <asp:FileUpload ID="ful_image" runat="server" />
     <asp:Button ID="btn_submit" runat="server" Text="提交" />
      <asp:Label ID="lbl_message" runat="server" Text="Label"></asp:Label>
   </div>
    <h2>展示图片</h2>
   <div>
     <asp:Button ID="btn_show" runat="server" Text="展示图片" />
     <asp:Panel ID="pn_images" runat="server"></asp:Panel>
   </div>
 </form>
</body>

效果图如下:

asp.net实现存储和读取数据库图片

2. 创建数据库

数据库脚本如下:


create database Imagetest
go
use Imagetest
CREATE TABLE [dbo].[imageTable](
[ID] [int] IDENTITY(1,1) NOT NULL,
[imageData] [image] NULL,
CONSTRAINT [PK_imageTable] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

数据库生成结果图:

asp.net实现存储和读取数据库图片

3.使用EF实现图片存储

实现代码:


protected void btn_submit_Click(object sender, EventArgs e)
   {
     ImagetestEntities ie = new ImagetestEntities();
     imageTable it = new imageTable();
     it.imageData = ful_image.FileBytes;
     it= ie.imageTables.Add(it);
     ie.SaveChanges();
     if(it.ID!=0)
     {
       lbl_message.Text = "图片上传成功";
     }
     else
     {
       lbl_message.Text = "图片上传失败";
     }
   }

运行结果:

asp.net实现存储和读取数据库图片

4. 使用EF实现图片的展示

实现代码:


protected void btn_show_Click(object sender, EventArgs e)
   {
     ImagetestEntities ie = new ImagetestEntities();
     List<imageTable> list= ie.imageTables.ToList<imageTable>();
     foreach (imageTable item in list)
     {
       Image img = new Image();
       img.ImageUrl ="data:image/png;base64,"+ Convert.ToBase64String(item.imageData);
       pn_images.Controls.Add(img);

}
   }

运行结果:

asp.net实现存储和读取数据库图片

来源:https://blog.csdn.net/merciaMA/article/details/102928045

标签:asp.net,存储,读取
0
投稿

猜你喜欢

  • 代码详解Python的函数基础(2)

    2023-08-11 17:59:40
  • python机器学习理论与实战(六)支持向量机

    2023-10-18 22:59:53
  • 在laravel中使用Symfony的Crawler组件分析HTML

    2023-11-17 18:54:07
  • Python3.6简单反射操作示例

    2021-05-04 03:32:05
  • Python StringIO及BytesIO包使用方法解析

    2022-12-24 15:34:26
  • 使用Javascript监控前端相关数据的代码

    2024-04-17 09:43:02
  • SQL恢复master数据库方法 只有mdf文件的数据库如何恢复

    2024-01-17 20:17:53
  • Python利用FlashText算法实现替换字符串

    2023-05-17 06:18:11
  • Python Pygame实战之打砖块小游戏

    2021-04-10 01:41:11
  • mysql存储过程 在动态SQL内获取返回值的方法详解

    2024-01-19 01:22:53
  • 简单实例解释Oracle分页查询

    2023-07-16 00:54:03
  • python中的tkinter库弹窗messagebox详解

    2023-11-12 04:02:05
  • MySQL中从库延迟状况排查的一则案例

    2024-01-21 01:32:53
  • Python合并pdf文件的工具

    2021-09-09 23:28:47
  • 在Pytorch中计算卷积方法的区别详解(conv2d的区别)

    2021-02-12 01:01:03
  • asp长文章分页显示思路

    2007-08-23 13:54:00
  • Python爬虫实例扒取2345天气预报

    2021-09-27 22:38:12
  • virtualenv 指定 python 解释器的版本方法

    2023-08-20 16:49:51
  • Django REST framework 视图和路由详解

    2022-10-16 00:29:32
  • 通过Turtle库在Python中绘制一个鼠年福鼠

    2021-03-01 03:48:12
  • asp之家 网络编程 m.aspxhome.com