Asp.net把图片存入数据库和读取图片的方法
网上关于ASP.NET上传图片到数据库的资料浩如烟海,其中常用的方法主要有几种。当涉及到图片的存储时,我们可以采用以下几种常见的方式处理图片类型的数据。
可以将图片转换为二进制数组(byte[])。这是最常见的一种方式,可以通过简单的代码实现:例如,通过 `byte[] fileData = this.FileUpload1.FileBytes;` 即可获取上传图片的二进制数据。
第二种方式是根据文件路径将文件转换为二进制数组。相应的代码片段如下:
```csharp
public byte[] returnbyte(string strpath)
{
// 以二进制方式读取文件
FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
// 创建一个二进制数据流读入器,并与打开的文件关联
BinaryReader brMyfile = new BinaryReader(fsMyfile);
// 把文件指针重新定位到文件的开始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length));
// 关闭以上创建的对象
brMyfile.Close();
return bytes;
}
```
对于图片类型的数据,我们还可以通过另一种方法获取其二进制数组,那就是通过Image对象。代码如下:
```csharp
public static byte[] Getbyte(Image img)
{
MemoryStream stream = new MemoryStream();
img.Save(stream, ImageFormat.Jpeg); // 或者其他你需要的图片格式
byte[] mydata = new byte[stream.Length];
mydata = stream.ToArray();
stream.Close();
return mydata;
}
```
获取Oracle数据库中的图像数据并在ImageShow.aspx页面展示
在一个深藏不露的数据库角落里,有一个名为t_img的表,它静静地存储着珍贵的图像数据。今天,我们的任务是从这个表中提取出ID为100的图像数据,并在网页上展示出来。
让我们编写一个方法来从Oracle数据库中获取图像数据。这个方法名为`getImageDataFromOracle`,它返回一个System.Drawing.Image对象。在这个方法里,我们将编写一段SQL查询语句来从数据库中提取图像数据。我们将使用Oracle连接来与数据库进行交互。
在查询语句执行后,我们将得到图像数据的字节数组。然后,我们将这个字节数组写入到一个MemoryStream中,并使用System.Drawing.Image的FromStream方法来将字节流转换为图像对象。我们返回这个图像对象。
接下来,我们需要在网页上展示这个图像。这里有一个名为ImageShow.aspx的页面,我们可以在页面的Page_Load方法中来展示这个图像。在这个方法中,我们将从数据库表中获取图像数据的字节数组。然后,我们将这个字节数组写入到一个MemoryStream中,并将其作为响应的内容类型设置为图像/GIF。我们将字节数组写入到响应输出流中,并结束响应。
在网页上展示图像的路径可以写成`ImageShow.aspx" />`。当用户访问这个页面时,ImageShow.aspx页面将从数据库中获取图像数据并展示出来。
通过这种方式,我们可以轻松地从Oracle数据库中获取图像数据并在网页上展示出来。这是一个结合了数据库查询和网页展示技术的有趣应用,让我们能够充分利用数据库中的图像资源,为网页增添更多的视觉吸引力。
现在让我们在网页上展示这个图像吧!用户将能够看到从数据库中提取出来的精美图像,感受到数据库与网页交互的奇妙之处。
编程语言
- Asp.net把图片存入数据库和读取图片的方法
- Angular中使用better-scroll插件的方法
- PHP数学运算与数据处理实例分析
- asp 采集实战代码
- 如何解决vue与传统jquery插件冲突
- JS实现的网页背景闪电闪烁效果代码
- js阻止冒泡和默认事件(默认行为)详解
- 为Java应用程序添加退出事件响应
- javascript+css3 实现动态按钮菜单特效
- PHP 下载文件时自动添加bom头的方法实例
- 浅谈Jquery核心函数
- js+css简单实现网页换肤效果
- 理解javascript闭包
- PHP在引号前面添加反斜杠(PHP去除反斜杠)
- PHP定时执行任务实现方法详解(Timer)
- PHP7.1实现的AES与RSA加密操作示例