RESTful WebService から Javascript クライアントに単一のオブジェクトで一連の PDF ファイルを返す方法を知っている人はいますか?
JSON オブジェクト内の PDF をバイト配列として返そうとしましたが、うまくいかないようです。または、JS 側でバイト配列に問題がありました。
RESTful WebService から Javascript クライアントに単一のオブジェクトで一連の PDF ファイルを返す方法を知っている人はいますか?
JSON オブジェクト内の PDF をバイト配列として返そうとしましたが、うまくいかないようです。または、JS 側でバイト配列に問題がありました。
まず、バイナリ ファイル (pdf ファイル) をエンコードする必要があります。Base 64 エンコーディングは、バイナリ データが 8 ビット クリーンではないトランスポート レイヤーを介してトランスポートされても存続するように設計されています。
1 つのドキュメントを返す関数を作成し、ファイルのいくつかの属性 (名前、拡張子、日付など...、コンテンツ) を含む json オブジェクトを返し、json オブジェクトの content フィールドに返すことをお勧めします。 、base64エンコンディング関数をpdfファイルに適用して取得したbase64文字列を配置するだけです。このようにして、(クライアント側で) この文字列をデコードし、問題なく元のファイルを取得できます。
Base64 でエンコードされたデータは、元のデータよりも約 33% 多くのスペースを必要とします。
このため、RESTful Web サービスへの呼び出しごとに 1 つのドキュメントのみを返すことをお勧めします。pdf ファイルは小さい場合もありますが、巨大な場合もあるため、応答 json オブジェクトで複数のドキュメントを結合すると、転送が非常に重くなる可能性があります。しかし、これはあなた次第です。