hel*_*lp 5 ftp coldfusion coldfusion-10
我existsDir用来检查文件夹是否存在.
<cfftp action="existsDir"
connection="FTP"
directory="/Download/Test">
#cfftp.returnvalue#
Run Code Online (Sandbox Code Playgroud)
如果该文件夹存在,那么一切正常.该returnvalue是"是".如果该文件夹不存在,则existsDir操作将失败,并显示以下错误:
An error occurred during the sFTP existsDir operation. The system cannot find the path /Download/Test
Run Code Online (Sandbox Code Playgroud)
此操作的重点是确定文件夹是否存在.然而,如果它不存在则会导致错误.我错过了什么吗?
我可以添加尝试并捕捉整个声明(我还是要添加它只是为了安全),但这会使这个存在无意义.
我也经历过这个。即使在 CF 2016(我们刚刚迁移到)中,这似乎也是一个错误。我通过在 cfftp action="existsDir" 用法期间设置 stoponerror="No" 来解决这个问题;
<cfftp action="existsDir"
connection="ftp_connection"
directory="#remote_path#"
stoponerror="No">
Run Code Online (Sandbox Code Playgroud)
然后您可以检查它是否“成功”并在必要时创建目录;
<cfif cfftp.succeeded NEQ "YES">
<!--- Create directory --->
<cfftp action="createDir"
connection="ftp_connection"
directory="#remote_path#"
stoponerror="No">
</cfif>
Run Code Online (Sandbox Code Playgroud)