将SQL Server数据库中base64编码的字符串中的图像另存为png文件

时间:2017-03-13 16:34:35

标签: sql-server image image-processing base64 png

我有一个表格列,字符串数据以0xFFD8FFE000....开头,以FFD9结尾。每一行在开始和结束时都相似,但两者之间有所不同。

如果我在图像周围检查生成的HTML,我会发现它显示为PNG。我的最终目标是脚本导出,将字符串转换为文件。我正在寻找信息,包括链接,在我的路上发送给我。

1 个答案:

答案 0 :(得分:1)

您有几个选择。所有这些都包括一些编码。 SQL Server没有内置的方法将base64编码的字符串导出为文件。

但是你可以......

编写一个将从TSQL /数据库端执行此操作的CLR。 CLR中需要的相关C#代码是这样的:

File.WriteAllBytes(@"c:\yourfile", Convert.FromBase64String(yourBase64String));

这是友情链接:Base64 encoded string to file

或者编写一个快速的控制台应用程序来遍历每一行并将其拉出来。使用上面针对C#或Google上记录的任何其他语言的相同代码段。快速谷歌搜索发现的另一种方法是:

public Image Base64ToImage(string base64String)
{
  // Convert Base64 String to byte[]
  byte[] imageBytes = Convert.FromBase64String(base64String);
  MemoryStream ms = new MemoryStream(imageBytes, 0, 
    imageBytes.Length);

  // Convert byte[] to Image
  ms.Write(imageBytes, 0, imageBytes.Length);
  Image image = Image.FromStream(ms, true);
  return image;
}

礼貌于此:http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx