codice:
<%
function GetBytes(flnm, offset, bytes)
on error resume next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFTemp = objFSO.GetFile(flnm)
lngSize = objFTemp.Size
set objFTemp = nothing
fsoForReading = 1
Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading)
if offset > 0 then
strBuff = objTextStream.Read(offset - 1)
end if
if bytes = -1 then
GetBytes = objTextStream.Read(lngSize)
else
GetBytes = objTextStream.Read(bytes)
end if
objTextStream.Close
set objTextStream = nothing
set objFSO = nothing
end function
function lngConvert(strTemp)
lngConvert = clng(asc(left(strTemp, 1)) + ((asc(right(strTemp, 1)) * 256)))
end function
function lngConvert2(strTemp)
lngConvert2 = clng(asc(right(strTemp, 1)) + ((asc(left(strTemp, 1)) * 256)))
end function
function gfxSpex(flnm, width, height, depth, strImageType)
gfxSpex = False
strType = GetBytes(flnm, 0, 3)
strBuff = GetBytes(flnm, 0, -1)
lngSize = len(strBuff)
flgFound = 0
strTarget = chr(255) & chr(216) & chr(255)
flgFound = instr(strBuff, strTarget)
if flgFound = 0 then
exit function
end if
strImageType = "JPG"
lngPos = flgFound + 2
ExitLoop = false
do while ExitLoop = False and lngPos < lngSize
do while asc(mid(strBuff, lngPos, 1)) = 255 and lngPos < lngSize
lngPos = lngPos + 1
loop
if asc(mid(strBuff, lngPos, 1)) < 192 or asc(mid(strBuff, lngPos, 1))> 195 then
lngMarkerSize = lngConvert2(mid(strBuff, lngPos + 1, 2))
lngPos = lngPos + lngMarkerSize + 1
else
ExitLoop = True
end if
loop
if ExitLoop = False then
Width = -1
Height = -1
Depth = -1
else
Height = lngConvert2(mid(strBuff, lngPos + 4, 2))
Width = lngConvert2(mid(strBuff, lngPos + 6, 2))
Depth = 2 ^ (asc(mid(strBuff, lngPos + 8, 1)) * 8)
gfxSpex = True
end if
end function
Set objFSO = CreateObject("Scripting.FileSystemObject")
'questa variabile è quella che porta il nome del file da analizzare nella funzione
nomefile="test.jpg"
Set objF = objFSO.GetFile(Server.MapPath("images/"&nomefile))
if instr(ucase(objF.Name), ".JPG") then
'stampo i valori: tipofile,nome,datacreazione,dimensione,larghezza,altezza,colori
response.write "<Table border=1><tr><td>" & objF.Type &"</td><td>" & objF.name & "</td><td>" & objF.DateCreated & "</td><td>" & Int(objF.Size/1024)&" kb</td></TR></table>"
end if
if gfxSpex(objF.Path, w, h, c, strType) = true then
response.write w & " x " & h & " " & c & " colori"
end if
set objF = nothing
set objFSO = nothing
%>
Intanto continuo a ravanare in rete