【发布时间】:2014-06-24 07:00:54
【问题描述】:
我正在使用 ftpsclient 进行 ftp 文件传输,因为它是显式 tls
这是我正在使用的代码:
<cfscript>
ftpsClient = CreateObject("java","org.apache.commons.net.ftp.FTPSClient").init(JavaCast("boolean",false));
ftpsClient.connect(JavaCast("string","test.hostedftp.com"),21);
connected = ftpsClient.isConnected();
WriteOutput("Is Connected:" & connected & '<br/>');
reply = ftpsClient.getReplyCode();
WriteOutput("Is reply:" & reply & '<br/>');
login = ftpsClient.login('test','test');
WriteOutput("Is Logged in:" & login & '<br/>');
ftpsClient.enterLocalPassiveMode();
ftpsClient.changeWorkingDirectory("/test");
reply = ftpsClient.getReplyCode();
WriteOutput("Is changeWorkingDirectory:" & reply & '<br/>');
</cfscript>
<cfset fileStream = CreateObject(
"java",
"java.io.FileInputStream"
).Init(
CreateObject(
"java",
"java.io.File"
).Init(
"C:\Users\test\test.txt"
)
) />
<cfset storefile = ftpsClient.storeFile("LocalFile.txt", fileStream)>
<cfset replycode = ftpsClient.getReplyCode()>
<cfoutput>#replycode#</cfoutput><br>
<cfset fileStream.close()>
<cfoutput>#storefile#</cfoutput>
但它没有在这里上传文件'输出:
Is Connected:YES
Is reply:234
Is Logged in:YES
Is changeWorkingDirectory:250
500
NO
这意味着在 storefie 回复代码出来之后是“500”。
我不知道代码有什么问题,如果有人可以帮忙。
提前致谢!
【问题讨论】:
-
看起来像
500 internal server error. -
是的,但是文件 ""C:\Users\test\test.txt"" 在那里。
-
而 500 代表“语法错误,命令无法识别并且请求的操作未发生。这可能包括命令行太长等错误。”在 ftp 返回代码列表中。
-
嗯,这是一个很好的线索。您是否检查过您的命令以确保它们有效?
-
是的,我检查过了,这是我通过commons.apache.org/proper/commons-net/apidocs/src-html/org/…引用的链接
标签: coldfusion ftp ftps