写 Asp.Net Core 久了,什么问题都能碰到,这不,今天为了完成一个分享图的制作,背景图竟然不存在,如果直接返回错误,前台图片就裂了。好吧只能返回一张默认图,可是如果默认图放硬盘,还有可能不存在啊,那么默认图就直接硬编码好了
假设我们的默认图是 1px x 1px
的 GIF 图,原图 base64 字符串为的 HTML 使用方式为
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" />
那么我们只要提取 base64,
后面的就好了。
using System; using System.Diagnostics; using SixLabors.ImageSharp; //... var base64EncodedImage = "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="; var imageBytes = Convert.FromBase64String(base64EncodedImage); using (var image = Image.Load(imageBytes)) { image.Save("foo.png"); }