首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coldfusion CFPDF读取二进制数据库列

Coldfusion CFPDF读取二进制数据库列
EN

Stack Overflow用户
提问于 2012-05-22 02:24:35
回答 3查看 3.9K关注 0票数 5

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

我目前在运行查询来获取列的地方有它。

使用cffile将文件写入目录

然后用cfpdf阅读,这样我就可以提取文本了。

有没有可能在没有cffile写入和直接读取二进制文件的情况下这样做?

如果是的话,能给我举个例子吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-22 05:18:27

您使用的是什么版本?下面的代码适用于我的CF9 / MS (varbinary列)

代码语言:javascript
复制
<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#">

编辑:澄清,当你使用queryName.columnName作为“源”时,cfpdf会抱怨。我怀疑cfpdf将其视为查询列对象,而不是自动获取查询的第一行中的值,即queryName.columnName[ 1 ]。解决方法是创建一个对它的引用,并使用另一个变量。

票数 3
EN

Stack Overflow用户

发布于 2012-05-22 03:15:12

我不是百分之百确定,但你应该能够这样做:

代码语言:javascript
复制
<cfset myPDF = binaryEncode(binaryData,'base64')>

<cfpdf action="read" source="myPDF" name="PDFObj">
票数 1
EN

Stack Overflow用户

发布于 2012-06-22 06:38:57

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

代码语言:javascript
复制
<cfheader name="Content-Disposition" value="inline; filename=test.pdf">
<cfcontent type="application/pdf" variable="#qGetFile.uploaded_file#">

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10690548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档