ser*_*0ne 5 c# asp.net graphics system.drawing asp.net-core
我最近将 ASP.NET MVC 应用程序从 ASP.NET 升级到 ASP.NET Core。
在我的控制器操作中,我有一段代码依赖 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);
}
Run Code Online (Sandbox Code Playgroud)
图像数据作为 Base64 编码图像发布到服务器
data:image/png;base64,....
Run Code Online (Sandbox Code Playgroud)
由于System.Drawing.NET Core 中没有,是否还有其他库可以实现这一点?
正如 Stanislav 指出的,当前的解决方案是在完整的 .NET 框架上使用 ASP.NET Core。System.Drawing 依赖于 GDI+ 调用,因此绑定到 Windows。
Imazen 的 vNext 版本的 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 版本将于明年发布)。
| 归档时间: |
|
| 查看次数: |
3940 次 |
| 最近记录: |