ColdFusion CFPDFバイナリデータベース列を読み取る
-
12-12-2019 - |
質問
CFPDFは直接バイナリデータベース列を読み取ることができますか?
現在列を取得するためにクエリを実行する場所にあります。
CFILEを使用してファイルをディレクトリに書き込む
CFPDFで読み取るので、私は解凍することができます。
CFFILE書き込みを行わずにこれを行うことは可能ですか?
もしそうなら、私は例を得ることができます。
解決
どのバージョンを使っていますか?以下はCF9 / MS SQL(varbinary column)
で私のために働いた。<cfquery name="getPdf" ....>
SELECT Data
FROM someTable
WHERE ID = 123
</cfquery>
<cfset pdfBinary = getPdf.data[1]>
<cfpdf action="extractText" source="pdfBinary" name="result">
<cfdump var="#result#">
.
編集:明確にするために、 "source"としてqueryName.columnName
を使用するとコンサル化します。CFPDFがクエリの最初の行での値を自動的に掴むのではなく、クエリ列 object を見るのではなく、queryName.columnName[ 1 ]
を疑うのです。回避策はそれへの参照を作成し、代わりに他の変数を使用することです。
他のヒント
私は100%確実ではありませんが、あなたはこのようなことをすることができるはずです:
<cfset myPDF = binaryEncode(binaryData,'base64')>
<cfpdf action="read" source="myPDF" name="PDFObj">
. これを行うための簡単な方法を見つけました:
<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">
.
これはすでに私が継承されたコードにありましたが、それは働いていませんでした。私は問題がデータソースであり、コードではありませんでした。ブロブを受け入れるように設定されていません。
所属していません StackOverflow