オブジェクト URL を File または Blob オブジェクトに変換する方法
はじめに
JavaScript のオブジェクト URL を File オブジェクトまたは Blob オブジェクトに戻す(変換する)方法を紹介します。 URL.createObjectURL() の逆を行います。
オブジェクト URL とは
オブジェクト URL は、JavaScript で下記のようにメゾットを呼び出すことで生成されます。
URL.createObjectURL(object);
URL.createObjectURL() - Web API | MDN
https://developer.mozilla.org/ja/docs/Web/API/URL/createObjectURL
ファイルを処理したり、ユーザーからファイルを受け取るライブラリなどで、オブジェクト URL で返ってきますが、データを処理したいので File オブジェクトや Blob オブジェクトに戻したいケースがあります。
しかし、File API には URL.createObjectURL(object); の逆が用意されていません。
例えば、 react-dropzone という React のライブラリではオブジェクト URL で返ってきます。
File オブジェクトに戻す方法
なんの変哲もない対処方法なのですが、URL なので、 fetch() または XMLHttpRequest を使用すれば File オブジェクトに戻すことができます。