CFPDF создать переменную из BLOB - PullRequest
0 голосов
/ 21 февраля 2011

В ColdFusion 9 у нас есть PDF-данные, хранящиеся в BLOB-объекте в базе данных.

Как мне получить это в переменную cfpdf?Кажется, что все параметры требуют имени файла.Есть ли способ сделать это без записи файла?

1 Ответ

1 голос
/ 21 февраля 2011

CFPDF и CFDOCUMENT предназначены для динамического создания и изменения PDF. Поскольку у вас уже есть PDF в виде большого двоичного объекта в вашей базе данных, вам просто нужна страница CF, чтобы отправить его обратно как часть ответа, используя CFCONTENT. Предполагая, что вы используете какой-то тип идентификатора, чтобы указать, какой PDF вы хотите извлечь из базы данных, пример будет выглядеть так:

<cfquery name="qryFile" datasource="MyDatasourceHere">
    SELECT id, name, data
    FROM files
    WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#URL.id#" />
</cfquery>
<cfheader name="content-length" value="#ArrayLen(qryFile.data)#" />
<cfheader name="content-disposition" value="attachment; filename=#qryFile.name#" />
<cfcontent type="application/octet-stream" variable="#qryFile.data#" />
...