ColdFusion的CFPDF阅读二进制数据库列(Coldfusion CFPDF reading

2019-06-24 15:26发布

可以cfpdf直接读取二进制数据库列?

目前,我有它在我运行一个查询来获取列。

使用CFFILE将文件写入到一个目录

然后用cfpdf读,所以我可以extracttext。

是否有可能做到这一点没有CFFILE写入和直接读取二进制文件?

如果是这样,我能得到一个例子。

Answer 1:

您正在使用什么版本? 以下为我工作与CF9 / MS SQL(varbinary列)

<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#">

编辑:为了澄清,当您使用cfpdf抱怨queryName.columnName “源”。 我怀疑cfpdf把它看作查询列对象 ,而不是自动地抓取查询的第一行中的值,即queryName.columnName[ 1 ] 的解决办法是建立一个参考吧,并使用其他变量,而不是。



Answer 2:

我不是100%肯定,但你应该能够做这样的事情:

<cfset myPDF = binaryEncode(binaryData,'base64')>

<cfpdf action="read" source="myPDF" name="PDFObj">


Answer 3:

我发现了一个简单的方法来做到这一点:

<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">

这已经在我继承了代码,但它从来没有工作。 我发现这个问题是数据源,而不是代码; 它不是设置为接受的BLOB。



文章来源: Coldfusion CFPDF reading a binary database column