1.如何将图片转换为二进制没装VS2005,我手写给你思路MemoryStreamms=newMemoryStream();//重要!!保存成文件流pictur
没装VS2005,我手写给你思路
MemoryStream ms = new MemoryStream();
// 重要!!保存成文件流
pictureBox1.Image.Save("a.bmp");
FileStream fileStream = new FileStream("a.bmp", FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream);
byte[] img = binaryReader.ReadBytes((int)fileStream.Length);
binaryReader.Close();
fileStream.Close();
File.Delete("a.bmp");
// 好了 这个img 就是你要的
作为2二进制文件打开,一个字节一个字节地读入,写出,直到EOF(文件结束符)。当然写出时要按数据库约定的方式。
下面作为普通文件输出
FILE *fin,*fout;
void main(){int c;fin=fopen( duck.jpg,rb); // 作为2二进制文件打开
fout=fopen(tmp.jpg,wb);while(1){c=fgetc(fin); // 一个字节一个字节地读入
fputc ( c , fout ); // 改此句,让它符合数据库约定。}}
1.将Image图像文件存入到数据库中
我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中.
要这里有关数据的操作略写,我将一些代码段写成方法,方便直接调用.
//根据文件名(完全路径)
public byte[] SetImageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
int streamLength = (int)fs.Length;
byte[] image = new byte[streamLength];
fs.Read(image, 0, streamLength);
fs.Close();
return image;
}
//另外,在ASP.NET中通过FileUpload控件得到的图像文件可以通过以下方法
public byte[] SetImageToByteArray(FileUpload FileUpload1)
{
Stream stream = FileUpload1.PostedFile.InputStream;
byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
stream.Close();
return photo;
}
2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件
//要使用SqlDataReader要加载using System.Data.SqlClient命名空间
//将数据库中的Image类型转换成byte[]
public byte[] SetImage(SqlDataReader reader)
{
return (byte[])reader["Image"];//Image为数据库中存放Image类型字段
}
//将byte[]转换成Image图像类型
//加载以下命名空间using System.Drawing;/using System.IO;
using System.Data.SqlClient;*/
public Image SetByteToImage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}
标签:知识常识,in,文件
本文仅代表作者观点,不代表阳光网立场。
如转载内容涉及版权、名誉权等,请尽快与本网联系
上一篇:如何将钢笔画的区域转化为选区
下一篇:如何将cad保存为word文档