Asp.net把图片存入数据库和读取图片的方法

网络编程 2025-03-29 21:52www.168986.cn编程入门

网上关于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数据库中获取图像数据并在网页上展示出来。这是一个结合了数据库查询和网页展示技术的有趣应用,让我们能够充分利用数据库中的图像资源,为网页增添更多的视觉吸引力。

现在让我们在网页上展示这个图像吧!用户将能够看到从数据库中提取出来的精美图像,感受到数据库与网页交互的奇妙之处。

上一篇:Angular中使用better-scroll插件的方法 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by