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