Closed michiharu closed 1 year ago
getImageBase64 は、2つの問題があります。
getImageBase64
btoa
実際にgithubのアバターURLを処理して上記エラーが発生することを確認しました。
この対処法を紹介しているリンクがこちらです。 Maximum call stack size exceeded エラーの解決策【applyの限界】
applayを使用せずにString.fromCharCode(...new Uint8Array(arrayBuffer))としても改善しなかったので、関数、メソッドいずれにしても引数の制限に抵触するようです。
applay
String.fromCharCode(...new Uint8Array(arrayBuffer))
btoaはnodejs環境でdeprecated扱いであるため、browser側で実行することを明示的に伝えるようwindow.btoa(...)と修正する必要があります。
window.btoa(...)
Bufferを使うように修正する方針もありますが、以下のリンクによるとwebpackの構成を修正し、3つのパッケージを追加する必要があります。 Uncaught ReferenceError: Buffer is not defined
browserにおいてbtoaがdeprecated扱いである訳ではないため、シンプルにwindow.btoa(...)を使用するだけでよいと思います。
getImageBase64
は、2つの問題があります。btoa
はdeprecated扱い"RangeError: Maximum call stack size exceeded"について
実際にgithubのアバターURLを処理して上記エラーが発生することを確認しました。
この対処法を紹介しているリンクがこちらです。 Maximum call stack size exceeded エラーの解決策【applyの限界】
applay
を使用せずにString.fromCharCode(...new Uint8Array(arrayBuffer))
としても改善しなかったので、関数、メソッドいずれにしても引数の制限に抵触するようです。TypeScriptでの
btoa
の扱いbtoa
はnodejs環境でdeprecated扱いであるため、browser側で実行することを明示的に伝えるようwindow.btoa(...)
と修正する必要があります。Bufferを使うように修正する方針もありますが、以下のリンクによるとwebpackの構成を修正し、3つのパッケージを追加する必要があります。 Uncaught ReferenceError: Buffer is not defined
browserにおいて
btoa
がdeprecated扱いである訳ではないため、シンプルにwindow.btoa(...)
を使用するだけでよいと思います。