single.php

Chrome 拡張機能でURLから動画のサイズを取得する方法 

Google Chromeの拡張機能で取得した動画ファイルのURLからJavaScriptでファイルサイズを取得したい場合の手順について備忘録的に投稿しておきます。

ヘッダー情報から取得

サイトによっては、取得できない場合もありますが、私が試したサイトでは、どちらかの方法で取得ができました。

例外処理で、取得する方法を変えて2段構えにしてます。

どちらも、受信したコンテンツのヘッダー情報を使ってサイズを取得。そもそもヘッダー情報が無い場合も想定されるので、万能ではないので、あしからずご容赦。

async function getSize(url) {

  let resSize = 0;

  try {
    const res = await fetch(url, { method: "HEAD" });
    resSize = Number(res.headers.get("content-length"));
    sizecache.set(url, resSize);
  }
  catch(e) {
    console.error("error:" + e);
  }

  if(resSize == 0)
  {
    try{
      const res = await fetch(url, {
        method: "GET",
        headers: {
          Range: "bytes=0-0"
        }
      });

      const contentRange = res.headers.get("content-range");
      if (contentRange) {
        resSize = Number(contentRange.split("/")[1]);
        sizecache.set(url, resSize);
      }
    }
    catch(e) {
      console.error("error:" + e);
    }
  }

  return resSize;
}

引数に、.mp4 などのファイルを含んだURLを渡すとファイルのサイズが取得できます。

まとめ

今回は、短い内容ですが、動画ファイルのURLからJavaScriptでファイルサイズを取得したい場合の手順について書きました。

JavaScriptで動画ファイルへのURLからファイルサイズを確認したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただきありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です