我有一个 ASP.NET Core 应用程序,我需要验证上传的文件是图像,而不是具有图像扩展名的非图像文件......
我发现的所有有意义的解决方案都使用 System.Drawing.Image 或 ASP.NET Core 中不可用的类似类。
您能建议一个替代方案吗?
*请注意,我不是要检查扩展名,而是要检查内容。
谢谢
现在“System.Drawing.Common”NuGet 可用于.NET Core。
您可以执行以下操作来验证“可能的”图像:
using System.Drawing;
// ...
public bool IsImage(byte[] data)
{
var dataIsImage = false;
using (var imageReadStream = new MemoryStream(data))
{
try
{
using (var possibleImage = Image.FromStream(imageReadStream))
{
}
dataIsImage = true;
}
// Here you'd figure specific exception to catch. Do not leave like that.
catch
{
dataIsImage = false;
}
}
return dataIsImage;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)