0

Wakanda が接続されている 4Dv15 データベースのテーブルの BLOB フィールドに PDF があります。サーバーサイド スクリプト (Wakanda) でフィールドから BLOB をプルすると、それはオブジェクトになります。

{'size': 12915, 'type': 'application/octet-stream'}

返されたオブジェクトに PDF またはバイナリ データが含まれていないようです。BLOB 内の PDF をクライアントに配信したいと考えています。これを行う方法を理解するのを手伝ってもらえますか?

ありがとうございました

編集:これは、コードを使用しようとすると得られるものです:

console.log(blob); var objectUrl = URL.createObjectURL(blob); window.open(objectUrl);

ここに画像の説明を入力

編集 2: これは、ブロブを取得するために使用しているサーバー側のコードです。私はそれをここで機能させようとしています。テーブルには 1 つのレコードしかなく、BLOB に PDF があります。

var reportCollection = ds.ReportLog.all(); var blob = reportCollection[0].ReportBlob;

このコードの結果が上記のオブジェクトです。4D が BLOB のバイナリデータを返しているという証拠はなく、代わりにその BLOB のプロパティのみを返しています。

4

1 に答える 1

1

Wakanda Request Handlerから以下を使用できますsendChunkedData()

response.sendChunkedData(blob)

.copyTo()または、BLOB APIを使用してサーバー上のファイルに BLOB を書き込み、そのファイルをクライアントに提供します。

var myFile = new File (outputFolder + filename) 
blob.copyTo(myFile)

別のオプションは、次のように使用できるURL.createObjectURL静的メソッドです。

var objectUrl = window.URL.createObjectURL(blob)
window.open(objectUrl)

参照: URL.revokeObjectURL

于 2016-06-20T16:39:12.167 に答える