C#中将图片以字符串形式存入文档中

来源:互联网 发布:国家顶级域名是什么 编辑:程序博客网 时间:2024/06/03 17:20
把图片转换成字符串并存入.txt文件中,可以像普通文件那样存储和读取。方便移动,还可相当加密。

public void GetImage()
{
            Stream s = File.Open(MapPath("33.jpg"), FileMode.Open);
            int leng = 0;
            if (s.Length < Int32.MaxValue)
                leng = (int)s.Length;
            byte[] by = new byte[leng];
            s.Read(by, 0, leng);//把图片读到字节数组中
            s.Close();

            string str = Convert.ToBase64String(by);//把字节数组转换成字符串
            StreamWriter sw = File.CreateText(MapPath("11.txt"));//存入11.txt文件
            sw.Write(str);
            sw.Close();
            sw.Dispose();

}

//把字符串还原成图片

        public void CreateImg()
        {
            StreamReader sr = new StreamReader(MapPath("11.txt"));
            string s = sr.ReadToEnd();
            sr.Close();
            byte[] buf = Convert.FromBase64String(s);//把字符串读到字节数组中

            MemoryStream ms = new MemoryStream(buf);
            System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
            img.Save(MapPath("12.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);
            ms.Close();
            ms.Dispose();
        }