jQuery와 함께 다운로드 링크 뒤에 파일 크기를 찾으십시오
문제
jQuery를 사용하여 웹 페이지에 링크하는 PDF의 파일 크기를 찾는 방법이 있는지 궁금합니다.
다운로드 링크를 통해 호버링 할 때 PDF의 파일 크기를 말하는 모달 상자가 나타납니다. 두 번째 비트를 할 수 있습니다. 제가 알고 싶은 유일한 것은 파일 크기를 찾는 방법입니다. jQuery가 이것을 할 수 있는지 모르겠습니다. 그렇지 않다면 너무 나쁘지 않다면 ..
미리 건배.
해결책
나는 이것이 클라이언트 측을하기에는 너무 많은 것 같지만, 당신의 응용 프로그램의 세부 사항을 모르기 때문에 jQuery로 그것을해야한다고 가정합니다 ... 당신은 헤드 요청을하고 컨텐츠를 볼 수 있습니다. 길이 헤더. 이전에 나는 JQhead 플러그인을 추천했지만 그것을 사용하려고 시도한 후에는 그것이 깨 졌다는 것을 알았습니다.
다음은 추가 플러그인에 의존하지 않는 작업 예입니다. http://host.masto.com/~chris/so/jqhead.html
그것의 고기는 매우 간단합니다.
var request;
request = $.ajax({
type: "HEAD",
url: $("#url").val(),
success: function () {
alert("Size is " + request.getResponseHeader("Content-Length"));
}
});
다른 팁
파일을 서버에 업로드하려는 경우 서버에 가지 않고 JavaScript에서 파일 크기를 찾기 위해 스 니펫이 작동합니다.
이 아이디어는 큰 파일을 서버에 업로드하기 전에 파일 크기를 제한하는 데 도움이됩니다.
<input type="file" id="loadfile" />
<input type="button" value="find size" onclick="findSize()" />
<script type="text/javascript">
function findSize() {
var fileInput = $("#loadfile")[0];
alert(fileInput.files[0].size); // Size returned in bytes.
}
</script>
파일 크기를 미리 알고 있다면 다운로드 링크의 제목 속성에이를 넣을 수 있습니다. jQuery를 사용하여 사용자 정의 팝업을 표시 할 수도 있습니다.
그렇지 않으면 실제로 전체 컨텐츠 AFAIK를 다운로드하지 않고 URL의 파일 크기 (콘텐츠 길이) 만 얻을 수있는 방법이 없습니다.
내가이 작업을 수행 할 수있는 유일한 방법은 PDF의 파일 크기를 반환하는 웹 서비스를 만드는 것입니다.
위의 답변에서 Chrome 21과 Safari 6에는 Filesize 멤버가 없지만 크기가 있습니다. 사용:
fileInput.files [0] .Size