문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top