2017-09-21 12 views
0

誰かが私が持っている問題に光を当てることができたら、私は感謝します。どのようにしてbase64文字列をbase64文字列に変換できますか?

AngularJSの.pdfビューアを使用しています。これは、base64からモーダルのドキュメントを表示しています。これは、base64が.pdfドキュメントから生成された場合にうまく機能します。

このbase64は、Base64.getEncoder().encodeToString()機能を使用してバックエンド(Java)で生成されます。

ファイルを表す.pdf形式のBase64に、別の種類のファイル(.jpeg、.png、.docx)をエンコードする方法(JavaScriptまたはJavaの場合もあります)がありますか?

私の質問が不明な場合は、私を修正してください!

ありがとうございます。

答えて

1

ファイル形式はソースで定義されています(つまり、ファイルはPDF、PNG、JPEGなどで作成されます)。PDF形式でないファイルをPDFビューアで表示する方法はありません。元のフォーマットをPDFに変換します。

編集

あなたは、ファイルをPDFに変換することに興味があるなら、助けることができるいくつかのオープンソースライブラリがあります。一般的な例はApache PDF Boxですが、他にも多くのオプションがあります。

+0

最初にファイルを.pdfに変換し、その.pdfをbase64文字列に変換する唯一のソリューションはありますか? (私の言うことを使用して)? – Vitz

+0

@Vitzあなたが扱っているファイルフォーマットに他の特定の視聴者を使用したいのでない限り、私はそう答えるでしょう。 –

+1

@Vitzまた、クライアント(JavaScriptコード)にストリーミングする前に、コンテンツをBase64に変換する必要はありません。レスポンスに正しい 'Content-Type'ヘッダを設定すると、バイナリファイルをそのまま流すことができ、アプリケーションサーバはそれをBase64に変換して処理します。たとえば、PDFファイルを 'byte [] pdf'変数に格納する場合、' response.getOutputStream()。write(pdf) 'を使用してPDFファイルをストリーミングできます。 –

関連する問題