方式一:
/// <summary> /// word文件轉換二進制數據(用於保存數據庫) /// </summary> /// <param name="wordPath">word文件路徑</param> /// <returns>二進制</returns> public byte[] WordConvertByte(string wordPath) { if (!File.Exists(wordPath)) { return null; } byte[] bytContent = null; System.IO.FileStream fs = null; System.IO.BinaryReader br = null; try { fs = new FileStream(wordPath, System.IO.FileMode.Open); br = new BinaryReader((Stream)fs); bytContent = br.ReadBytes((Int32)fs.Length); fs.Close(); br.Close(); } catch { fs.Close(); br.Close(); return null; } return bytContent; } /// <summary> ///二進制數據轉換為word文件 /// </summary> /// <param name="data">二進制數據</param> /// <param name="fileName">word文件名</param> /// <returns>word保存的相對路徑</returns> public string ByteConvertWord(byte[] data, string fileName) { if (data == null) return string.Empty; FileStream fs = null; BinaryWriter br = null; try { fs = new FileStream(fileName, FileMode.OpenOrCreate); br = new BinaryWriter(fs); br.Write(data, 0, data.Length); br.Close(); fs.Close(); } catch { br.Close(); fs.Close(); return string.Empty; } return fileName; }
方式二:
// <summary> /// 根據圖片路徑返回圖片的字節流byte[] /// </summary> /// <param name="imagePath">圖片路徑</param> /// <returns>返回的字節流</returns> private byte[] ImageToByte(string imagePath) { FileStream files = new FileStream(imagePath, FileMode.Open); byte[] imgByte = new byte[files.Length]; files.Read(imgByte, 0, imgByte.Length); files.Close(); return imgByte; } /// <summary> /// 字節數組生成圖片 /// </summary> /// <param name="Bytes">字節數組</param> /// <returns>圖片</returns> private Image ByteArrayToImage(byte[] Bytes) { MemoryStream ms = new MemoryStream(Bytes); return Bitmap.FromStream(ms, true); }
程序運行效果:
//將image轉換成byte[]數據 private byte[] ImageToByte(System.Drawing.Image img) { MemoryStream ms = new MemoryStream(); img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); return ms.ToArray(); } //將byte[]數據轉換成image private Image ByteToImage(byte[] bytes) { MemoryStream ms = new MemoryStream(bytes); Image img= Image.FromStream(ms); return img; }