.7z
任何人都可以通过建议在 ColdFusion中提取文件的功能来帮助我吗?我使用 ColdFusion 10 和基于 cfscript 的代码。事实上,我们有cfzip
标签,但它只提取.zip
和.jar
文件。
问问题
520 次
2 回答
4
您可以使用cfexecute
(遗憾的是在 中不可用cfscript
)在您的服务器上执行 7z 提取器并通过各种命令将文件提取到您选择的位置。
幸运的是,Raymond Camden 似乎已经详细介绍了它:
http://www.raymondcamden.com/index.cfm/2011/2/21/Working-with-RARs-in-ColdFusion
于 2013-05-31T12:57:34.733 回答
0
在给定目的地解压缩 .rar 文件的功能.. 使用 cfexecute 标签在命令行中运行 rar exe
<cffunction name="Unrar" access="public" returnType="boolean" output="false">
<cfargument name="archivefile" type="string" required="true">
<cfargument name="destination" type="string" required="true">
<cfset var exeName = "">
<cfset var result = "">
<cfset var errorresult = "">
<cfif not fileExists(arguments.archivefile)>
<cfthrow message="Unable to work with #arguments.arvhiefile#, it does not exist.">
</cfif>
<cfif findnocase(".rar",arguments.archivefile)>
<cfset var exeName = expandpath("WinRAR\rar.exe")>
<cfset var args = []>
<cfif directoryExists(#arguments.destination#)>
<cfset args[1] = "x +o">
<cfelse>
<cfset directoryCreate(#arguments.destination#)>
<cfset args[1] = "x">
</cfif>
<cfset args[2] = arguments.archivefile>
<cfset args[3] = "#arguments.destination#">
</cfif>
<cfexecute name="#exeName#" arguments="#args#" variable="result" errorvariable="errorresult" timeout="99" />
<cfif findNoCase("OK All OK", result)>
<cfreturn true>
<cfelse>
<cfreturn false>
</cfif>
</cffunction>
于 2013-05-31T13:10:23.060 回答