VB如何判断一个文件是否是JPG文件

来源:百度知道 编辑:UC知道 时间:2024/06/01 16:01:33
做了一个系统,里面把图片用二进制存在数据库。
但是其他文件改后缀为.jpg也能存进去。但是不显示图片。
有没有方法判断是否是jpg文件。
只要jpg,其他bmp,ico,png等等都不要。
0871love 你知道怎么用文件头来判断吗?
lxz1969 如果把 bmp 后缀改成 jpg 就不会报错

'测试图片文件是否为JPG或JPEG文件(与文件扩展名无关)
'参数说明:Filename 要测试的图片文件名,返回值为逻辑型
'调用举例:if TestJpgFile("c:\1.jpg")=True then msgbox "是JPG文件"
Function TestJpgFile(Filename As String) As Boolean
Dim i As Integer, S As String, bb() As Byte
If Dir(Filename) = "" Or Filename = "" Then Exit Function
i = FreeFile
ReDim bb(9)
Open Filename For Binary As #i
Get #i, 1, bb
Close #i
S = UCase(StrConv(bb, vbUnicode))
'JPG文件
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "EXIF" Then TestJpgFile = True
'JPEG文件,如何你觉得不用,可删除下面这行代码
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "JFIF" Then TestJpgFile = True
End Function

private command1_click()
on error goto err
picture1.picture=loadpicture("D:\1.jpg")
exit sub
err:
msgbox "D:\1.jpg不是合法的图片!"
end sub

没去实现过