![]() |
1
7
这是vb.net等价于 0xA3's answer 因为OP坚持使用VB版本。
使用方法如下:
编辑:
最好的方法是使用上面的函数加载图像,或者打开前几个字节并检查jpeg签名。
|
![]() |
2
5
一个非常原始的检查是简单地尝试加载图像。如果它不是有效的
如果我正确理解了你的问题,你的应用程序就会加载图像。因此,简单地将加载操作包装在try/catch块中并不意味着任何额外的开销。对于这种方法的vb.net解决方案,请检查@alex essilfie的答案。
那些想知道为什么的人
|
![]() |
3
3
当然,您的第一道防线就是检查文件的扩展名:
更好的是,正如SLC在评论中建议的那样,设置对话框的
这不是一个保证——理想情况下,你想检查文件本身来验证它是一个图像,理论上,如果文件实际上是图像文件,你也应该能够加载扩展名不正常的文件(可能只是先要求用户确认),但这是一个简单的开始。 |
![]() |
4
2
vb和c答案很好,但如果您计划更改或移动文件,则还包含一个“gotcha”:创建的“img”对象将锁定图像文件,除非调用Dispose()方法来释放它。见下文:
|
![]() |
5
0
最可靠的方法是了解需要加载的文件的签名。 例如,jpeg具有特定的头格式。 这样,如果您只查看扩展名,您的代码就不会那么容易被愚弄。 163的答案应该能让你走上这条路。 |
![]() |
Karl · 如何引发PrintPage的事件? 2 年前 |
![]() |
Daniel · LINQ从列表的dataTable中提取部分匹配 2 年前 |
![]() |
limelatte · 如何在datagridview中屏蔽特定列? 2 年前 |
![]() |
Orsi · 选择嵌套列表的最大值和最小值。网 2 年前 |
![]() |
D T · 如何为Excel Com设置公式? 2 年前 |
![]() |
Lenin · 将数组中的每个元素与另一个数组中的相应元素相乘 2 年前 |