/// <summary>
/// 文件转化成byte[]数组
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
private byte[] FileContent(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
try
{
byte[] buffur = new byte[fs.Length];
fs.Read(buffur, 0, (int)fs.Length);
return buffur;
}
catch (Exception ex)
{
//ex.Message
return null;
}
finally
{
if (fs != null)
{
fs.Close();
}
}
}
/// <summary>
/// C#文件和字节流的转换方法
/// </summary>
/// <param name="buffur"></param>
/// <param name="fs"></param>
/// <param name="filename"></param>
public void FileFun(byte[] buffur,FileStream fs,string filename)
{
//将byte 保存为文件 转为文件
using (fs = new FileStream("D://test.jpg", FileMode.Create, FileAccess.Write))
{
fs.Write(buffur, 0, buffur.Length);
};
fs.Close();
//C#文件和字节流的转换方法
//1、读取文件,并转换为字节流
fs = new FileStream(filename,FileMode.Open,FileAccess.Read);
byte[] infbytes = new byte[(int)fs.Length];
fs.Read(infbytes, 0, infbytes.Length);
fs.Close();
//2、将字节流写入文件
fs = new FileStream("D:\inf.dlv",FileMode.Create,FileAccess.Write);
fs.Write(infbytes, 0, infbytes.Length);
fs.Close();
}
//C# 图片与Byte相互转换
/// <summary>
/// 图片转byte
/// </summary>
/// <param name="PicturePath"></param>
/// <returns></returns>
private byte[] GetIMGbyte(string PicturePath)
{
//将需要存储的图片读取为数据流
FileStream fs = new FileStream(@PicturePath, FileMode.Open, FileAccess.Read);
Byte[] btye2 = new byte[fs.Length];
fs.Read(btye2, 0, Convert.ToInt32(fs.Length));
fs.Close();
return btye2;
}
/// <summary>
/// byte转图片
/// </summary>
/// <param name="streamByte"></param>
/// <returns></returns>
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
//将数据流读取为图片
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}
/// <summary>
/// 图片转byte
/// </summary>
/// <param name="imagePath"></param>
/// <returns></returns>
public byte[] GetPictureData(string imagePath)
{
FileStream fs = new FileStream(imagePath, FileMode.Open);
byte[] byteData = new byte[fs.Length];
fs.Read(byteData, 0, byteData.Length);
fs.Close();
return byteData;
}
//将Image转换成流数据,并保存为byte[]
/// <summary>
/// 图片转byte
/// </summary>
/// <param name="imgPhoto"></param>
/// <returns></returns>
public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
{
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;
}
//图片的“写”操作
//参数是Byte[]类型,返回值是Image对象
/// <summary>
/// byte转图片
/// </summary>
/// <param name="streamByte"></param>
/// <returns></returns>
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}
//参数是Byte[] 类型,没有返回值(ASP.NET输出图片)
public void WritePhoto(byte[] streamByte)
{
// Response.ContentType 的默认值为默认值为“text/html”
Response.ContentType = "image/GIF";
//图片输出的类型有: image/GIF image/JPEG
Response.BinaryWrite(streamByte);
}