将字节图片保存在sqldatabase上 [英] save byte picture on sqldatabase

查看:53
本文介绍了将字节图片保存在sqldatabase上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI 我不能很好地写英语
我在C#中使用此代码在数据库中保存图片
///////////////////////////

HI i can not write English very well sorry
me in c# for save a picture in data base use of this code
//////////////////////////////////////////

try
{
MemoryStream ms = new MemoryStream();
                pictureBox3.Image.Save(ms, pictureBox3.Image.RawFormat);
                byte[] arrImage = ms.GetBuffer();
                ms.Close();

                string strSQL = "insert into picture(pic,IDcustomer) values (@pic,@IDcustomer)"; ;
                SqlCommand cmd = new SqlCommand(strSQL, conn);
        
                cmd.Parameters.Add(new SqlParameter("@pic", SqlDbType.Binary)).Value = arrImage;//picture
           
                cmd.Parameters.AddWithValue("@IDcustomer", Convert.ToInt16(a));
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                MessageBox.Show("Insert completed seccessfully."); 
}



///////////////////////////////////

如果我想将图片加载到pictureBox,请使用以下代码:
/
//////////////////////////////////////////////////////



/////////////////////////////////////

and if i want to load a picture to pictureBox use of this code:
/
///////////////////////////////////////////////////

try
               {
                   //Get image data from gridview column.
                   byte[] imageData = (byte[])image;
                   //Initialize image variable
                   newImage = null;
                   //Read image data into a memory stream
                   using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Length))
                   {
                       ms.Write(imageData, 0, imageData.Length);

                       //Set image variable value using memory stream.
                       newImage = Image.FromStream(ms, true);
                   }

                   //set picture
                   pictureBox1.Image = newImage;
             //      System.IO.File.Create("d:\\");
               }



///////////////////////////////////
如果我要将加载图片保存到驱动器,请使用以下代码:



/////////////////////////////////////////////////
if i want to save a load picture to a drive use this code :

newImage.Save(@"D:\soft1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);


但是这段代码有运行时错误
错误是
GDI +中发生一般错误

:confused :: ~~:omg::((
请帮助我


but this code have run time error
error is
A generic error occurred in GDI+

:confused::~ :omg: :((
please help me

推荐答案

1.创建一个System.IO.MemoryStream对象.
2.创建一个System.IO.FileStream对象
3.将图像保存到MemoryStream
4.从MemoryStream读取bytes []
5.使用FileStream保存图像文件
这是C#示例代码;
1. Create a System.IO.MemoryStream object.
2. Create a System.IO.FileStream object
3. Save image into MemoryStream
4. Read bytes[] from the MemoryStream
5. Save the image file with FileStream
And Here is the C# sample code;
using System.Drawing.Imaging;
using System.Drawing;
using System.IO;
public static void SaveJpeg
(string path, Image img, int quality)
{
EncoderParameter qualityParam
= new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo jpegCodec
= GetEncoderInfo(@"image/jpeg");
EncoderParameters encoderParams
= new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
System.IO.MemoryStream mss = new System.IO.MemoryStream();
System.IO.FileStream fs
= new System.IO.FileStream(path, System.IO.FileMode.Create
, System.IO.FileAccess.ReadWrite);
img.Save(mss, jpegCodec, encoderParams);
byte[] matriz = mss.ToArray();
fs.Write(matriz, 0, matriz.Length);
mss.Close();
fs.Close();
}


在这里,请尝试这个男人.

C#GDI +解决方案中发生了一般性错误 [ ^ ]
Here you go, try this man.

C# a generic error occurred in GDI+ Solution[^]


我可以使用此
感谢您的帮助


MemoryStream ms =
新的MemoryStream((byte [])dataGridView1 ["pic",e.RowIndex] .Value);
图片img = Image.FromStream(ms,true);
pictureBox1.Image = img;
img.Save("D:\\ soft1.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
i can to use this
thanks of your help


MemoryStream ms=
new MemoryStream((byte[])dataGridView1["pic", e.RowIndex].Value);
Image img = Image.FromStream(ms,true);
pictureBox1.Image = img;
img.Save("D:\\soft1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);


这篇关于将字节图片保存在sqldatabase上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆