我正在从文件中加载图像,我想知道在从文件中完全读取图像之前如何验证图像.
string filePath = "image.jpg";
Image newImage = Image.FromFile(filePath);
Run Code Online (Sandbox Code Playgroud)
当image.jpg不是真正的jpg时会出现问题.例如,如果我创建一个空文本文件并将其重命名为image.jpg,则在加载image.jpg时将抛出OutOfMemory Exception.
我正在寻找一个功能,它将在给定图像的流或文件路径的情况下验证图像.
示例函数原型
bool IsValidImage(string fileName);
bool IsValidImage(Stream imageStream);
Run Code Online (Sandbox Code Playgroud) 我正在从一个并不总是包含内容类型的服务下载一些图像,并且没有为我正在下载的文件提供扩展名(呃,不要问).
在.NET中确定图像格式的最佳方法是什么?
正在读取这些下载图像的应用程序需要具有适当的文件扩展名或者所有地狱都会松动.
我循环遍历目录并复制所有文件.现在我做string.EndsWith检查".jpg"或".png"等..
有没有更优雅的方法来确定文件是否是一个图像(任何图像类型)没有上面的hacky检查?
我正在尝试构建一个服务,任何人都可以从电子邮件地址/客户端发送图像文件并进行处理.想想服务有点像Flickr在通过电子邮件发送的仪表板中显示图像
从可用性的角度来看,这种机制提供了很多优势,但我想了解这种行为的安全后果.一些问题是:
我在这里采取正确的方法吗?我应该有严重的后果吗?
image ×3
.net ×2
c# ×2
file ×2
content-type ×1
email ×1
file-io ×1
mime-types ×1
security ×1
transfer ×1