2010-07-17 3 views

답변

1

자바 스크립트에서는 사용할 수 없습니다 (미안하지만 jQuery는 도움이되지 않습니다.). 이미지를 가져오고 페이지로 돌아갈 수있는 크기를 계산하려면 서버 측 스크립트가 필요합니다.

참고 - OP는 google 도메인을 소유하지 않습니다. 이 밖에

+0

모든 다운로드 콘텐츠는 크기를 가지고 있으며, 그 정보를 검색하는 몇 가지 잘 정의 된 방법이 있습니다. – Manfre

+0

@ user326404 js에 포함되지 않음 – redsquare

+1

@redsquare - 맞지 않습니다. var xhr = new XMLHttpRequest(); xhr.open ('HEAD', 'http : //whatever.file.git', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { 경고 ('크기는 바이트로 :'+ xhr.getResponseHeader ('Content-Length')); } } }; xhr.send (null); – bmelton

3

당신은 이미지 URL에 대한 HTTP HEAD 요청을 할 수 있습니다. 그러면 content-length (a.k.a 파일 크기)를 포함하는 HTTP 헤더가 반환됩니다. 서버에 대한 추가 요청이 필요합니다. 정적으로 제공되는 대신 이미지가 생성 될 때 효율성이 떨어집니다.

내가 지속적으로 정확한 파일 크기를 얻을 수있는 하나의 방법을 알고하지 않습니다
+0

스마트! 알고 기쁜 :) – johnjohn

3

,하지만 당신은 약간의 농구를 통해 이동하고자하는 경우 수 :

1) 크기에 따라 추정 파일 타입 압축 기술로 인해 폭 넓은 변형이있을 수 있지만, 통계를 약간만 실행하고 반은 발견 할 수 있습니다.

2) IE의 경우 이미지의 fileSize 속성을 사용하십시오. Canvas를 지원하는 다른 브라우저에서는 in this question on getting image data in JavaScript 기술을 사용하여 dataURL을 가져온 다음 base64가 4/3 크기 증가이므로 3/4을 곱합니다.

편집

3) 다른 사람이 HTTP 헤더를 점점 화려한 및 정밀에 대해 (파비앙 Bernede의 대답에 링크 된 질문에 정교 특히으로) 준 제안. 아마도 일부 경우에는 도메인 간 제한이 적용되지만 아마도 가장 일관되고 효과적인 방법 일 것입니다.

+1

확실하게 가장 일관되고 효과적인 방법은 이미지를 잡고 그것을 평가하는 서버 측 프록시입니다! – redsquare

+0

완전히 정확하고 질문자에게 주목할만한 가치가 있습니다. JavaScript를 사용하여 순전히이 작업을 수행한다는 것을 의미하는 제약이나 관심이 있다고 생각했습니다. –

-3

$ 이는 파일 크기의 =의 나 strlen (file_get_contents ($ imageSrcTag)) // < - PHP

+1

Asker say javascript. 어떤 종류의 대답입니까? – erm3nda

관련 문제