JQueryを使用してPDF私がWebページにリンクしていることを示す)のファイルサイズを確認する方法があるかどうか疑問に思いました。
ダウンロードリンクにカーソルを合わせると、モーダルボックスがポップアップしてPDFのファイルサイズを表示するようにします。私は2番目のビットを実行できます。知りたいのは、ファイルサイズを確認する方法だけです。 jQueryがこれに対応しているかどうかはわかりません。そうでなければ、あまりにも悪いと思います。
事前に乾杯。
これはクライアント側で行うには多すぎるように感じますが、アプリケーションの詳細がわからないので、jQueryで行う必要があると想定しています... HEADリクエストを実行して確認できますContent-Lengthヘッダー。以前は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>
上記の答えでは、Chrome 21とSafari 6にはfileSizeメンバーはありませんでしたが、サイズはあります。使用:
fileInput.files [0] .size
事前にファイルサイズがわかっている場合は、ダウンロードリンクのtitle属性にそのサイズを入れることができます。 jQueryを使用してカスタムポップアップを表示することもできます。
そうしないと、コンテンツ全体を実際にダウンロードせずに、URLのファイルサイズ(コンテンツの長さ)だけを取得する方法はありません。
これを行うには、PDFのファイルサイズを返すWebサービスを作成するしかありません。