当压缩文档时,我很难重命名文件。下面,我尝试从文档中获取字符串,用UUID文件名替换并保存为文档。我希望将文件名更改为在压缩文件时可读的内容。我该怎么做呢?
<cfset rtf = FileRead(filepathofdocument) />
<cfset rtf = Replace(rtf,"%newProdYN%",session.input.inputtext) />
<cfset rtf = Replace(rtf,"%ration%",session.input.inputtext2) />
<cfset cfdest = "#GetDirectoryFromPath(session.input.storage.destination)#/#CreateUUID()#.doc" />
<cffile action = "write"
file = "#cfdest#"
output = "#rtf#">
<cfzip action="zip" file="#getTempDirectory()#/#CreateUUID()#.zip">
<cfzipparam source="#cfdest#" entrypath="document.doc" />
<!-- More file sources to zip... -->
</cfzip>cfzipparam标记的入口路径似乎不起作用.
编辑:我实际上遵循了本纳德尔博客的教程。http://www.bennadel.com/blog/795-learning-coldfusion-8-cfzip-part-ii-zipping-files-and-directories-with-cfzipparam.htm
发布于 2015-01-02 06:49:04
不能使用cfzip重命名zip中的文件。
在cfzipparam中提供入口路径只会在zip文件中创建一个子目录。
在您的例子中,名为“document.doc”的子目录将在zip文件中创建。
在生成文档文件时,zip中文件的名称将与您在cffile中提供的文件相同。
请看这个
因此,您需要首先根据需要重命名文件。然后你可以把它拉链到想要的结果。
发布于 2015-06-18 16:15:42
实际上,entrypath属性允许您重命名将包含在zip中的文件。
不幸的是,似乎有一个bug #3968971在ColdFusion 11,在那里,这已经停止工作。
https://stackoverflow.com/questions/27737365
复制相似问题