0

RESTful WebService から Javascript クライアントに単一のオブジェクトで一連の PDF ファイルを返す方法を知っている人はいますか?

JSON オブジェクト内の PDF をバイト配列として返そうとしましたが、うまくいかないようです。または、JS 側でバイト配列に問題がありました。

4

1 に答える 1

0

まず、バイナリ ファイル (pdf ファイル) をエンコードする必要があります。Base 64 エンコーディングは、バイナリ データが 8 ビット クリーンではないトランスポート レイヤーを介してトランスポートされても存続するように設計されています。

1 つのドキュメントを返す関数を作成し、ファイルのいくつかの属性 (名前、拡張子、日付など...、コンテンツ) を含む json オブジェクトを返し、json オブジェクトの content フィールドに返すことをお勧めします。 、base64エンコンディング関数をpdfファイルに適用して取得したbase64文字列を配置するだけです。このようにして、(クライアント側で) この文字列をデコードし、問題なく元のファイルを取得できます。

Base64 でエンコードされたデータは、元のデータよりも約 33% 多くのスペースを必要とします。

このため、RESTful Web サービスへの呼び出しごとに 1 つのドキュメントのみを返すことをお勧めします。pdf ファイルは小さい場合もありますが、巨大な場合もあるため、応答 json オブジェクトで複数のドキュメントを結合すると、転送が非常に重くなる可能性があります。しかし、これはあなた次第です。

于 2012-09-24T18:56:23.597 に答える