本文共 3134 字,大约阅读时间需要 10 分钟。
/// <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); }转载地址:http://ggows.baihongyu.com/