ColdFusion CFPDF读取二进制数据库列
-
12-12-2019 - |
题
can cfpdf直接读取二进制数据库列?
我目前拥有它在哪里运行查询以获取列。
使用cffifle将文件写入目录
然后用cfpdf读取,所以我可以提取文本。
是否可以在没有CFFifle写入的情况下执行此操作并直接读取二进制文件?
如果是这样,我可以实现一个例子。
解决方案
您使用的是什么版本?以下使用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将其视为查询列对象,而不是自动抓取查询的第一行中的值IE queryName.columnName[ 1 ]
。解决问题是为其创建引用,并使用其他变量。
其他提示
我不是100%肯定,但你应该能够做到这样的事情:
<cfset myPDF = binaryEncode(binaryData,'base64')>
<cfpdf action="read" source="myPDF" name="PDFObj">
. 我找到了一种简单的方法来实现这一点:
<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">
.
这已经在我继承的代码中,但它永远不会工作。我发现问题是数据源而不是代码;它没有设置为接受blob。
不隶属于 StackOverflow