coldfusion如何在数据库中保存pdf文件并在浏览器中获取它

Sun*_*Ham 2 database pdf coldfusion cffile

插入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>
Run Code Online (Sandbox Code Playgroud)

=========================这是从数据库显示到浏览器:

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

但我只能在浏览器中看到"无法加载PDF文档"

Mar*_*ger 6

您的代码原则上是正确的.确保CF管理员中的设置允许blob数据 - 否则可能会在数据库中截断.通常不允许BLOB数据通过驱动程序是非常典型的(默认情况下,DSN设置中不允许这样做).如果你启用它,你应该是好的.


我发布了这个答案,因此您可以根据评论(根据Leigh的建议)将其标记为正确.:)