푸른청년 푸르게 살고있나?  
home | 살아가기 | news | 세상보기 | tip&tech | 방명록 |  
   전체
   asp
   php
   jsp
   mssql
   mysql
   informix
   linux
   unix
   win2000
   javascript
   html
   oracle
   java
   etc
    
:: Tip&Tech > asp
이미지 url로 사이즈 알아내기
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 & "<br>" & "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)) * 8)
getSize = array(width,Height)

end if

end if

set obj = Nothing
end function
%>

날짜: 2007-01-25 19:42:10, 조회수: 2693

다음글 IE6.0 서로 다른 도메인 프레임에서 쿠키사용하기
이전글 asp 페이지를 스케줄러 써서 배치작업하기

꼬리말
글쓴이 비밀번호 #스팸글방지(주인장 닉네임을 쓰시오)

  
since by 2003.03.23 / 3th 2005.07.26 / 4th 2009.04.22 made by bluesoul