【发布时间】:2017-07-06 18:39:08
【问题描述】:
我是一名 .NET 学生,试图学习如何从数据库中获取图像 (varbinary(MAX)) 并将其转换为图像文件。我已成功地将图像转换为 byte[] 并将其保存到数据库中。到目前为止,这是我试图恢复图像的代码:
public IActionResult Index()
{
var kund = DbContext.Kunder.SingleOrDefault(p => p.KundId == 2);
byte[] byteImage = kund.Bild;
Image image = byteArrayToImage(byteImage);
return View();
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
我知道的问题是 Visul Studio 告诉我们:
严重性代码描述项目文件行抑制状态 错误 CS0117“图像”不包含对 'FromStream' ImageToDB..NETCoreApp,Version=v1.0 D:\Kay\ASP.NET MVC\ImageToDatabase\ImageToDB\src\ImageToDB\Controllers\HomeController.cs 40 活动
这是来自命名空间 System.Drawing 的 Image 类(不是我自己的类):
namespace System.Drawing
{
public abstract class Image
{
protected Image();
solution
public delegate bool GetThumbnailImageAbort();
}
}
我的依赖:
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
当我查看网络上的不同示例时,我经常看到这个解决方案,但是当我尝试使用它时,FromStream 会变成红色波浪线。
如果您想从我的代码中看到更多内容,请告诉我,我会带来。
提前感谢所有帮助
【问题讨论】:
-
当您说“这是 Image 类”时——您的意思是您已经创建了自己的 Image 类吗?如果是这样,请不要这样做...如果不是,请澄清。 (另外,请说明您的目标是哪个版本的 .NET。看起来是 .NET Core,但哪个版本?)
-
问题是,您使用的是哪个图像。我看不到您的“使用”定义。你确定它是来自 System.Drawing 的图像吗?
-
对不起。我没有创建那个类。会澄清这一点
-
@MAdeelKhalid 问题与 .NET Core 而不是 .NET 有关,它们是不同的,相同的答案并不适用于两者。
标签: c# arrays image-processing asp.net-core-mvc