因此,我将 PDF blob 保存在数据库中并尝试检索它并将其显示在页面上。当我在 Coldfusion 10 上运行代码时,它按预期运行。但是,当我将相同的确切代码移至 Railo 4.2.1.0 时,出现错误。
我很好奇是否可以将二进制数据传递到 Railo 中的 CFPDF Source 标签。如果没有,有人知道一个好的解决方法吗?
当我运行转储时,pdfBinary 数据中确实包含正确的二进制信息。
谢谢
代码:
<cfset tcpInformation = dataPopulatorController.getTCPInformation(session.requestID, session.personID) />
<cfset pdfBinary = tcpInformation.file_content[1]>
<cfpdf action="read" source="pdfBinary" name="TCPDocument">
<cfheader name="Content-Disposition" value="filename=TCP.pdf" />
<cfcontent type="application/pdf" variable="#toBinary(TCPDocument)#" />
我在 Railo 上遇到的错误:
/****/tcpviewer.cfm中出现的错误:第7行5:6:7:8:9:
Java Stacktrace 文件或目录 pdfBinary 不存在于 railo.commons.io.res.util.ResourceUtil.toResourceExisting(ResourceUtil.java:199):199 at railo.commons.io.res.util.ResourceUtil.toResourceExisting(ResourceUtil.java: 164):164 在 railo.runtime.tag.PDF.toPDFDocument(PDF.java:1207):1207 在 railo.runtime.tag.PDF.doActionRead(PDF.java:1033):1033 在 railo.runtime.tag.PDF .doEndTag(PDF.java:568):568 在 onboarding.views.tcpviewer_cfm$cf.call(/onboarding/views/tcpviewer.cfm:7):7 在 railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:913) :913 在 railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:865):865 在 railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:206):206 在 railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener .java:18):18 在 railo.runtime。PageContextImpl.execute(PageContextImpl.java:2218):2218 在 railo.runtime.PageContextImpl.execute(PageContextImpl.java:2185):2185 在 railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:332):332 在 railo .loader.servlet.CFMLServlet.service(CFMLServlet.java:29):29 at javax.servlet.http.HttpServlet.service(HttpServlet.java:728):728 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain .java:305):305 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210):210 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222):222 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123):123 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472):org.apache.catalina.core.StandardHostValve.invoke 的 472(StandardHostValve.java:171):org.apache.catalina.valves.ErrorReportValve.invoke 的 171(ErrorReportValve.java:99):org.apache.catalina 的 99。 Valves.AccessLogValve.invoke(AccessLogValve.java:947):947 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118):118 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter. java:408):408 at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200):200 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589):589 at org .apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310):310 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source):-1 at java.util.concurrent.ThreadPoolExecutor$Worker .运行(未知来源):-1 在 java.lang.Thread.run(未知来源):-1