gpt4 book ai didi

c# - ASP.NET Core 中的服务器端图形

转载 作者:行者123 更新时间:2023-11-30 12:23:05 27 4
gpt4 key购买 nike

我最近将一个 ASP.NET MVC 应用程序从 ASP.NET 升级到了 ASP.NET Core。

在我的 Controller 操作中,我有一段代码依赖于 System.Drawing 来创建个人资料图片

using (FileStream stream = new FileStream(HttpContext.Server.MapPath($"~/Content/UserFiles/{AuthenticatedUser.Id.ToString()}.jpg"), FileMode.OpenOrCreate))
{
Image image = Image.FromStream(model.DisplayPicture.InputStream);
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
}

图像数据以Base64编码图像的形式发布到服务器

data:image/png;base64,....

既然 .NET Core 中没有System.Drawing,有没有其他库可以实现这个?

最佳答案

正如 Stanislav 指出的那样,当前的解决方案是在完整的 .NET 框架上使用 ASP.NET Core。 System.Drawing 依赖于 GDI+ 调用,因此绑定(bind)到 Windows。

Imazen 的 vNext Version of Image Resizer 将基于新的 imageflow 项目解决这个问题。 System.Drawing 不应在 ASP.NET 等服务器环境中使用(在 https://msdn.microsoft.com/en-us/library/system.drawing(v=vs.110).aspx 上指出)。 https://github.com/imazen/Graphics-vNext 上提供了有关此主题的一些背景信息.

我建议使用 ImagerResizing 的当前版本 4.0.5 并在几个月内升级(第一个稳定的 vNext 版本将于明年发布)。

关于c# - ASP.NET Core 中的服务器端图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38284346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com