我正在使用ColdFusion Web应用程序,它使用ImageMagick获取上传的图像并调整大小4次。我试图添加以应用一些条件格式,它的代码通过命令提示符工作,但它无法通过CF应用程序正常工作。
以下是从CF发送到服务器的代码(在命令提示符下正常工作):
C:\path\cmd.exe /S /C ""C:\path\ImageMagick\magick.exe" "C:\path\800x77.jpg" -resize 600x600 -strip -quality 85 -gravity center -background white -extent "%[fx:w^<250?250:w]x%[fx:h^<250?250:h]" "C:\path\result600x250.jpg""
插入符号是为了逃避小于符号,但似乎打破了ImageMagick格式,因为IM返回的图像被裁剪为250x250而不是600x250。关于如何在CF运行时如何使其正常工作的任何想法?
ImageMagick 7,CF2016,Windows Server 2008 R2 Datacenter
修改 代码不使用cfexecute。我在附加到shell代码的代码中添加了双引号,这让我更接近。这是生成shell脚本代码部分的行:
<cfset local.shellArguments &= ' -gravity center -background white -extent ""%[fx:w\^<#arguments.argResizeMinWidth#?#arguments.argResizeMinWidth#:w]x%[fx:h\^<#arguments.argResizeMinHeight#?#arguments.argResizeMinHeight#:h]""'>