JavaScript - オブジェクトURLからファイルまたはBlobを取得する方法


方法1: XMLHttpRequestを使用する方法

function getFileFromObjectURL(url, callback) {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.responseType = 'blob';
  xhr.onload = function() {
    if (xhr.status === 200) {
      var file = xhr.response;
      callback(null, file);
    } else {
      callback(new Error('ファイルの取得に失敗しました。'));
    }
  };
  xhr.send();
}

使用例:

var objectURL = 'オブジェクトURL'; // 実際のオブジェクトURLに置き換えてください
getFileFromObjectURL(objectURL, function(error, file) {
  if (error) {
    console.error(error);
  } else {
    console.log(file); // 取得したファイルまたはBlobを処理するコードをここに追加します
  }
});

方法2: fetch APIを使用する方法

function getFileFromObjectURL(url) {
  return fetch(url)
    .then(function(response) {
      if (!response.ok) {
        throw new Error('ファイルの取得に失敗しました。');
      }

      return response.blob();
    });
}

使用例:

var objectURL = 'オブジェクトURL'; // 実際のオブジェクトURLに置き換えてください
getFileFromObjectURL(objectURL)
  .then(function(file) {
    console.log(file); // 取得したファイルまたはBlobを処理するコードをここに追加します
  })
  .catch(function(error) {
    console.error(error);
  });

上記のコード例では、オブジェクトURLからファイルまたはBlobを取得するために、XMLHttpRequestまたはfetch APIを使用しています。どちらの方法でも、指定したURLからデータを取得し、コールバック関数またはPromiseを使用して結果を処理します。

これらの方法を使用すると、JavaScriptでオブジェクトURLからファイルまたはBlobを簡単に取得できます。ご参考までにお使いください。