图片保存到数据库以及C#读取图片

图片保存到数据库,如果是sqlserver就是Image类型,如果保存到Oracle就是blob类型,在c#中相对应的就是byte[]类型,同时只需要对读出的数据强制转换就行(byte[])object.

1. 将图片保存为byte数组

//参数是图片路径,返回Byte[]类型

 public byte[] GetPictureData(string imagepath)
    {
       FileStream file = new FileStream(imagepath, FileMode.Open);
       byte[] by = new byte[file.Length];
       file.Read(by, 0, by.Length);
       file.Close();
       return by;
    }

//参数是Image,返回Byte[]类型

public byte[] GetPictureData(System.Drawing.Image imgPhoto)
    {
       //将Image转换成流数据,并保存为byte[]
       MemoryStream mstream=new MemoryStream();
       imgPhoto.Save(mstream,System.Drawing.Imaging.ImageFormat.Bmp);
       byte[]byData=new Byte[mstream.Length];
       mstream.Position=0;
       mstream.Read(byData,0,byData.Length);
       mstream.Close();
       return byData;
    }  

2. 将byte数组转换为图片

//参数是Byte[]类型,返回值是Image对象

    public System.Drawing.Image ReturnPhoto(byte[] streamByte)
    {
        MemoryStream me = new MemoryStream(streamByte);
        return System.Drawing.Image.FromStream(ms);
    }  

    //参数是Byte[]类型,没有返回值,这是针对asp.net中把图片从输出到网页上
    public void WritePhoto(byte[] streamByte)
    {
        Response.ContentType="image/GIF";
        Response.BinaryWrite(streamByte);
    }

3. byte[]和string的转换

    //byte[] 转换为string
    byte[] by;
    string str=System.Convert.ToBase64String(by);
    //string转换为byte[]
    string str;
    byte[] by=System.Convert.FromBase64String(str);
时间: 2024-10-11 22:54:26

图片保存到数据库以及C#读取图片的相关文章

二进制数据将图片保存到数据库,并读取数据库二进制数据显示图片

一. 浏览图片 OpenFileDialog ofd = new OpenFileDialog();            ofd.InitialDirectory = @"E:\";            ofd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files(*.*)|*.*";            ofd.RestoreDirectory = true; if (ofd

C# 图片保存到数据库和从数据库读取图片并显示

图片保存到数据库的方法: public void imgToDB(string sql)        {   //参数sql中要求保存的imge变量名称为@images            //调用方法如:imgToDB("update UserPhoto set [email protected] where UserNo='" + temp + "'");            FileStream fs = File.OpenRead(t_photo.Te

Java中将图片保存到数据库中

在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非常的简单.和普通的数据库操作差别不大.只是用到部分流操作.例如各种输入输出流操作.所以深刻理解流操是非常重要的. 在此我借助于一个JSP的简单实例进行讲解.此实例保存职员数据,其中职员数据包含一个图片列.此列保存每名员工的照片.在此将照片直接保存到数据库中.首先建立职员信息表EmployeeInfo

图片保存到数据库

以Winform PictureBox控件为例 if (openFileDialog1.ShowDialog() == DialogResult.OK)            {                Image img = Image.FromFile(openFileDialog1.FileName);  //Image为C#中的图片对象     从文件中读取                         this.img_Photo.Image = img;//让控件显示图片  

Asp.net 从Excel读取图片并保存,无法从内存读取图片,Excel组件和相关IIS的配置及解决办法

</pre>目的:Asp.net web页面,读取Excel,(用的office组件),中的图片注意的事项:<p></p><p>只提供部分代码,因为重点是配置.</p><p>1:要想从Excel里读取图片,只能用剪贴板的方面将图片复制到内存然后再保存图片.</p><p>2:剪贴板的使用要引用WinForm</p><p>3: Excel是单线程的方式,所以代码里使用剪贴板也要用单线程的方式

Windowform 窗体关联数据库存储,读取图片,参考代码

namespace flowlayoutpanel_容器 { public partial class picturebox : Form { public picturebox() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //从硬盘上读取图片显示在界面 openFileDialog1.Filter = "@.Jpg|*.jpg|@.Png|*.png|@.Jif|*.

多图上传控制器及模型代码(2)thinkphp5+layui实现多图上传保存到数据库,可以实现图片自由排序,自由删除。

公共css代码 <style> .layui-upload-img { width: 90px; height: 90px; margin: 0; } .pic-more { width:100%; left; margin: 10px 0px 0px 0px;} .pic-more li { width:90px; float: left; margin-right: 5px;} .pic-more li .layui-input { display: initial; } .pic-mor

thinkphp+layui多图上传(1)thinkphp5+layui实现多图上传保存到数据库,可以实现图片自由排序,自由删除。

公共css代码 <style> .layui-upload-img { width: 90px; height: 90px; margin: 0; } .pic-more { width:100%; left; margin: 10px 0px 0px 0px;} .pic-more li { width:90px; float: left; margin-right: 5px;} .pic-more li .layui-input { display: initial; } .pic-mor

将图片保存到数据库,并且加载图片

public class BinaryToImageConverter:IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is Binary) { byte[] bytes = new byte[(value as Binary).Bytes.Length]; bytes = (value as Bina