首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFPDF action=“保护”ColdFusion无法删除该文件

CFPDF action=“保护”ColdFusion无法删除该文件
EN

Stack Overflow用户
提问于 2019-08-05 15:20:01
回答 1查看 201关注 0票数 1

我所做的工作如下:

代码语言:javascript
复制
<cffunction name="GenerateTemporaryDocument" access="remote" returntype="string">
        <cfargument name="Source" type="string" required="yes" >
        <cfargument name="Fields" type="array" required="yes" >

    <cfset Source  = "\#Source#" >
    <cfset pdfName = ".\Generated\#CreateUUID()#.pdf" >

    <cfpdfform action="populate"    
            source="#Source#"   
            destination="#pdfName#" 
            overwrite="yes">

    <cfpdfform action="populate"    
           source="#Source#"    
           destination="#pdfName#" 
           overwrite="yes">
           <!--- 
           some form fields that get filled 
           --->
    </cfpdfform>

    <cfpdf action="write" 
        source="#pdfName#" 
        destination="#pdfName#" 
        flatten="yes" 
        overwrite="true">

    <cfpdf action="protect" 
         source="#pdfName#" 
         newOwnerPassword ='xxxxx'
         permissions = 'AllowPrinting'>


        <cfreturn pdfName>

</cffunction>

我会说99/100次,效果很好。但是,我经常在“保护”命令行中看到以下错误:

C:\inetpub\wwwroot\Generated\D6DBE4BD-AC16-2D87-C6CC1FDB990820C2.pdf.文件ColdFusion无法删除

它这么做有什么明显的原因吗?如果没有,有什么方法可以让cf等待文件变得可用呢?

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 00:36:36

我发现查理·阿雷哈特和其他人的建议

https://community.adobe.com/t5/coldfusion/i-was-not-allowed-to-deleted-them-pdf-s-until-i-had-restarted-cf/td-p/2435410

来自查理·阿雷哈特的第一条评论:

“您实际上不需要使用这些CFPDF*标记创建文件……您可以使用NAME属性(而不是目的)来指示一个变量来保存前一步的输出,然后在后面一步的源中使用该变量。.可能想要故意创建这些文件,但至少如果您只在最后一步创建文件,它可能会解决. /Charlie (服务器故障排除程序,carehart.org)”

以及MarkMetcalf沿着这些思路提出的解决方案。

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

https://stackoverflow.com/questions/57361586

复制
相关文章

相似问题

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