http://www.developerfusion.co.uk/show/1971/ 이곳에서 펐습니다.
return 받는 값을 배열로 받는부분만 살짝 수정했슴다.
<%
url = "http://service.sportsseoul.com/upload/efunn/board/ThumNail/TN_1001_6446_1.JPG"
arrImgSize = getSize(URL, width, height, depth, flType)
width = arrImgSize(0)
height = arrImgSize(1)
response.write "w:" & width & "
” & “h:”& height
function GetBytes(objHTTP, offset, bytes)
Dim SizeofFile
on error resume next
SizeofFile = objHTTP.getResponseHeader(“Content-Length”)
‘gets the size of the file from the HTTP header
if offset > 0 then ‘start getting bytes NOT at the beginning
strbuff = midb(objHTTP.responseBody, offset, bytes)
end if
if bytes = -1 then ‘ Get All!
GetBytes = objHTTP.responseBody ‘ReadAll
else ‘start at front and go some odd distance
GetBytes = midb(objHTTP.responseBody, 1, bytes)
end if
end function
function lngConvert(strTemp)
lngConvert = clng(ascb(leftb(strTemp, 1)) + ((ascb(rightb(strTemp, 1)) * 256)))
end function
function lngConvert2(strTemp)
lngConvert2 = clng(ascb(rightb(strTemp, 1)) + ((ascb(leftb(strTemp, 1)) * 256)))
end function
””’lngconvert was taken from Mike Shaffer’s IMGSZ
function getSize(URL, width, height, depth, flType)
dim PNGflType
dim GIFflType
dim BMPflType
dim flTypeOf
dim obj
flTypeOf = “”
flType = “(unknown)”
Set obj = Server.CreateObject (“Microsoft.XMLHTTP”)
obj.open “GET”, URL, False
obj.send
‘Here we have gotten the data for the image file
getSize = False
PNGflType = chr(137) & chr(80) & chr(78)
GIFflType = chrb(71) & chrb(73) & chrb(70)
BMPflType = chr(66) & chr(77)
‘Here are the definitions for the image flTypes, I only support GIF and JPG but you can add others
flTypeOf = GetBytes(obj, 0, 3)
‘Find out what flType of image it is
if flTypeOf = GIFflType then ‘It is a GIF!!!
flType = “GIF”
strbuffer = getbytes(obj, 0, -1) ‘get all of the data of the image
width= lngconvert(midb(strbuffer, 7, 2))
Height = lngconvert(midb(strbuffer, 9, 2))
Depth = 2 ^ ((ascb(GetBytes(obj, 11, 1)) and 7) + 1)
‘It is very important to note the ascB and midB, images ARE binary files
getSize = True
else
strBuff = GetBytes(obj, 0, -1) ‘ get the entire file
SizeofFile = lenb(strBuff)
flgFound = 0
strTarget = chrb(255) & chrb(216) & chrb(255)
flgFound = instrb(strBuff, strTarget)
char = (midb(strbuff, 1, 3)) ‘check out the first few characters
if flgFound = 0 then ‘not a jpg, and definatly not a GIF
exit function
end if
flType = “JPG”
lngPos = flgFound + 2
ExitLoop = false
do while ExitLoop = False and lngPos < SizeofFile
do while ascb(midb(strBuff, lngPos, 1)) = 255 and lngPos < SizeofFile
lngPos = lngPos + 1
loop
'search through to find the data
if ascb(midb(strBuff, lngPos, 1)) < 192 or ascb(midb(strBuff, lngPos, 1)) > 195 then
lngMarkerSize = lngConvert2(midb(strBuff, lngPos + 1, 2))
lngPos = lngPos + lngMarkerSize + 1
else
ExitLoop = True ‘have everything we need
end if
loop
if ExitLoop = False then ‘oh no!
Width = -1
Height = -1
Depth = -1
else
Height = lngConvert2(midb(strBuff, lngPos + 4, 2))
Width = lngConvert2(midb(strBuff, lngPos + 6, 2))
Depth = 2 ^ (ascb(midb(strBuff, lngPos + 8, 1)) *
getSize = array(width,Height)
end if
end if
set obj = Nothing
end function
%>
Comments
Powered by Facebook Comments