vs做asp网站,建设免费网站,微信小程序开发需要什么,怎么注册公司邮箱帐号咨询区 vaj90我的项目中有一个需求#xff0c;需要将 base64 格式的字符串 data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD.. 转成 image 格式#xff0c;请问我该如何实现#xff1f;回答区 Patashu#xff1a;我写了一个 image 和 base64 相互转换的帮助类#xff… 咨询区 vaj90我的项目中有一个需求需要将 base64 格式的字符串 data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD.. 转成 image 格式请问我该如何实现回答区 Patashu我写了一个 image 和 base64 相互转换的帮助类你可以直接拿去用参考如下代码public class Base64Image
{public static Base64Image Parse(string base64Content){if (string.IsNullOrEmpty(base64Content)){throw new ArgumentNullException(nameof(base64Content));}int indexOfSemiColon base64Content.IndexOf(;, StringComparison.OrdinalIgnoreCase);string dataLabel base64Content.Substring(0, indexOfSemiColon);string contentType dataLabel.Split(:).Last();var startIndex base64Content.IndexOf(base64,, StringComparison.OrdinalIgnoreCase) 7;var fileContents base64Content.Substring(startIndex);var bytes Convert.FromBase64String(fileContents);return new Base64Image{ContentType contentType,FileContents bytes};}public string ContentType { get; set; }public byte[] FileContents { get; set; }public override string ToString(){return $data:{ContentType};base64,{Convert.ToBase64String(FileContents)};}
}然后你可以像下面这样使用。public static void Main(string[] args){var base64Img new Base64Image{FileContents File.ReadAllBytes(Path to image),ContentType image/png};string base64EncodedImg base64Img.ToString();}sumith madhushan如果是将 图片路径 转为 base64 字符串可以先将 路径中的图片 转为 byte[] 形式然后转为 base64 格式的字符串即可参考如下代码public static string ImageToBase64(string _imagePath){string _base64String null;using (System.Drawing.Image _image System.Drawing.Image.FromFile(_imagePath)){using (MemoryStream _mStream new MemoryStream()){_image.Save(_mStream, _image.RawFormat);byte[] _imageBytes _mStream.ToArray();_base64String Convert.ToBase64String(_imageBytes);return data:image/jpg;base64, _base64String;}}}点评区 说到这个图片的 base64 格式让我想起来前段时间有位朋友将 base64 格式的图片塞到了 sqlserver导致程序运行一段时间之后内存过大所以我建议这种需求小规模的可以用 nginx 单独做图片服务器大规模的可以用 fastdfs 或者图省事用阿里的 OSS。