C#代码Base64编码转图片和图片转Base64的方法

- 作者:zhanhy ——来源:原创 ——

在使用火车采集器和火车浏览器时如果遇到图片是Base64字符时,可能软件本身就不知道怎么处理了,这个时候就需要用到插件了,如果找官方开发的话500元起步。这个价格对咱们来说,就太不友好了。这里给两个插件代码,有需要的或者不懂的可以直接来用了。

使用C#代码保存使用Base64字符显示的图片代码:


        /// <summary>
        /// 网页中的样式为    <img class="img" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBaRXhpZgAATU0AKgAAAAgABQMBAAUAAAABAAAASgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAAAAFESAAQAAAABAAAAAAAAAAAAAYagAACxjxxx";
        /// 使用浏览器提取到src的内容,比如本次将结果存在“图片地址”字符串变量中,然后使用C#代码进行处理
        /// </summary>
        /// <param name="stringDic"></param>
        /// <param name="listDic"></param>
        /// <param name="intDic"></param>
        public static void Execute(Dictionary<string, string> stringDic, Dictionary<string, List<string>> listDic, Dictionary<string, int> intDic)
        {
            string base64 = stringDic["图片地址"];
            string[] arr = base64.Split(',');
            if (arr.Length != 2) throw new System.Exception("错误的base64图片格式");
            base64 = arr[1];
            byte[] bytes = Convert.FromBase64String(base64);
            string savedir = AppDomain.CurrentDomain.BaseDirectory + "图片路径目录//";//这里可以设置图片的路径地址,可以自己调整
            if (!System.IO.Directory.Exists(savedir)) System.IO.Directory.CreateDirectory(savedir);
            System.IO.File.WriteAllBytes(savedir + System.IO.Path.GetRandomFileName() + ".jpg", bytes);//随机文件名保存
        }


图片转换为Base64字符的代码:

public static void Execute(Dictionary<string, string>stringDic,Dictionary<string, List<string>> listDic,Dictionary<string, int> intDic)
	{

		System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(stringDic["本地图片地址"]);
		using (MemoryStream ms1 = new MemoryStream())
		{
			bmp1.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
			byte[] arr1 = new byte[ms1.Length];
			ms1.Position = 0;
			ms1.Read(arr1, 0, (int)ms1.Length);
			ms1.Close();
			stringDic["img_base64"] = Convert.ToBase64String(arr1);
		}
	}


如果你还有其它疑问可以来本站搜索相关问题,这里会有你想要的答案:火车脚本网

还有什么疑问可以提出来
  • 全部评论(0
    还没有评论,快来抢沙发吧!