3

插入 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 文档失败”

4

1 回答 1

7

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


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

于 2015-10-23T15:07:14.147 回答