注册 登录
编程论坛 VB.NET论坛

如何实现vb2008中把图片(或其它类型文件)转换成字符串存入.txt文件中,并从.txt中读出生成图片

tliang 发布于 2011-04-18 13:22, 987 次点击
C#可以做到,行不行?请高手给出代码,以下是C#的代码


1、任何文件在计算机中是以二进制的形式储存,以图片为例,我们可以考虑把图片转换成字符串并存入.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();
        }
1 回复
#2
不说也罢2011-04-21 17:56
只有本站会员才能查看附件,请 登录


其中,MapPath函数需要自己写
1