CFExecute不适用于imagemagick的命令

时间:2013-07-03 16:07:45

标签: coldfusion imagemagick coldfusion-9

我正在使用ColdFusion cfexecute运行以下命令:composite -geometry +2+2 "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\resized.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\templateImages\isubscribe\blank.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\part1.png"

<cffunction name="executeWrap" returntype="string">
    <cfargument name="commandToRun" type="string" required="Yes">
    <cfargument name="cmdArg" type="string" required="Yes">

    <cfset var result = "">
    <cfexecute name="#arguments.commandToRun#" arguments="#arguments.cmdArg#"
                                variable="result" timeout="15" />
    <!--- <cfdump var="#arguments#">
    <cfdump var="#result#"> --->
    <cfreturn result>


 </cffunction>

出于某种原因,上述事情不起作用。虽然当我直接在命令提示符上运行命令时,它可以工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

CFExecute忽略被调用进程发送到标准错误的任何内容。为了能够查看是否有任何错误输出生成,请将“errorVariable”参数添加到cfexecute调用中,然后检查是否有任何内容,并让脚本做出相应的反应。

<cfexecute name="..command to run..."
                arguments='.. your arguments...'
                variable="results"
                errorVariable="errorOuptut"
                ></cfexecute> 

<cfif len(errorOuptut)>
    <cfthrow message="#errorOuptut#" />
</cfif>

更多信息: http://www.raymondcamden.com/index.cfm/2008/4/9/ColdFusion-801-change-to-CFEXECUTE