イメージ用のbase64文字列をデコードしてバイナリに戻そうとしているため、OSによってローカルにダウンロードして表示できます。DOM例外5 javascriptの有効なbase64イメージ文字列でINVALID CHARACTERエラーが発生しました
データURIの前置詞(data:img/png; base64)を持つHTML IMG要素のsrcとして配置すると、文字列が正常に描画されますが、atob関数またはgoog closure関数を使用すると失敗します。ここに入れたときに
しかしデコードが成功します。http://www.base64decode.org/
任意のアイデア?
EDIT: 組み込みJS関数以外の別のライブラリでデコードすることに成功しました。しかし、それはまだローカルに開かれません - Macでは、それが壊れているか、または未知の形式であり、開けられないと言います。
コードのようなだけで何かです:
imgEl.src = 'data:img/png;base64,' + contentStr; //this displays successfully
decodedStr = window.atob(contentStr); //this throws the invalid char exception but i just
//used a different script to get it decode successfully but still won't display locally
base64文字列自体は、ここで表示するにはあまりにも長いです
ありがとう!それは命の恩人です。私は、Base64で非常に長いPDFを持っていましたが、モバイルアプリケーションでエラーが発生していましたが、Webブラウザで作業していました。スペースを削除すると機能しました。 – Amod
ありがとうございます。私も同様の問題がありましたが、それはSafariにしか現れなかった後続のキャリッジリターンでした。これと同じ方法で修正されました。 – echappy
Railsはbase64をかなり頻繁にチョップし、Safariは空白を無視しますが、Chromeは空白を無視します。あなたの 'replace'提案は私のアプリを再びSafariで動かすことになった。ありがとう! – Alex