coldfusion Как сохранить файл pdf в базе данных и получить его в браузере

Вставить в базу данных MS-SQL 2008

<cffile action="READBINARY" file="#form.FileContents#" variable="binPDF">
<cfquery name="Uploaded" datasource="#cfbasedatasource#">
INSERT INTO UploadedFiles
    (
    AccountId,
    Filecontent
    )
VALUES
    (
    '#UrlAccountId#',
    <cfqueryparam value='#binPDF#' cfsqltype='cf_sql_blob'>
    )
</cfquery>

========================= Это Показать из базы данных в браузер:

<cfset binaryData = #cfGetfilecontentquery.Filecontent[1]#>
<cfheader name="Content-Disposition" value="inline; filename=testDocument.pdf">
<cfcontent variable="#binarydata#" type="application/pdf" reset="yes" />

Но я могу видеть только в браузере "Не удалось загрузить документ PDF"

1 ответ

Ваш код в принципе правильный. Убедитесь, что в настройках администратора CF разрешены данные BLOB-объектов, иначе они могут быть обрезаны в БД. Довольно типично не разрешать BLOB-данные через драйвер (по умолчанию это НЕ разрешено в настройках DSN). Если вы включите его, вы должны быть хорошими.


Я публикую этот ответ, чтобы вы могли пометить его как правильный, основываясь на комментариях (согласно предложению Ли).:)

Другие вопросы по тегам