问题描述
我正在尝试使用 FTPSClient 将 csv 保存到远程服务器。 我在做什么:
object SandBox extends App {
val client = new FTPSClient("TLS",false)
var fis: InputStream = null
try {
client.setConnectTimeout(6000)
client.connect(HOST,PORT)
client.enterLocalPassiveMode
client.login(USER,PWD)
var reply = client.getReplyString
client.execPBSZ(0)
client.execPROT("P")
client.setDataTimeout(60000)
client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)))
reply = client.getReplyString
client.setFileType(org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE)
reply = client.getReplyString
client.setBufferSize(1024)
reply = client.getReplyString
fis = new FileInputStream(new File(PATH/File.csv))
val bool = client.storeFile("file.csv",fis)
if(!bool){
import java.io.IOException
throw new IOException("Failed to store file due to: " + client.getReplyString)
}
client.logout()
} catch {
case e: Exception =>
e.printstacktrace()
} finally {
try {
if (fis != null) {
fis.close()
}
client.disconnect()
} catch {
case e: Exception =>
e.printstacktrace()
}
}
}
> TYPE I
> 200 TYPE is Now 8-bit binary
> PASV
> 227 Entering Passive Mode (46,105,77,55,191,238)
> STOR PlaneteTechnologieFR_1_BRUN-20210301.csv
> 150 Accepted data connection
> org.apache.commons.net.ftp.FTPConnectionClosedException: Connection
> closed without indication. at
> org.apache.commons.net.ftp.FTP.__getReply(FTP.java:324) at
> org.apache.commons.net.ftp.FTP.__getReply(FTP.java:300) at
> org.apache.commons.net.ftp.FTP.getReply(FTP.java:732) at
> org.apache.commons.net.ftp.FTPClient.completePendingCommand(FTPClient.java:1853)
> at
> org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:694)
> at
> org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:639)
> at
> org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:2030)
> at SandBox$.delayedEndpoint$SandBox$1(SandBox.scala:48) at
> SandBox$delayedInit$body.apply(SandBox.scala:17) at
> scala.Function0.apply$mcV$sp(Function0.scala:39) at
> scala.Function0.apply$mcV$sp$(Function0.scala:39) at
> scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
> at scala.App.$anonfun$main$1$adapted(App.scala:80) at
> scala.collection.immutable.List.foreach(List.scala:392) at
> scala.App.main(App.scala:80) at scala.App.main$(App.scala:78) at
> SandBox$.main(SandBox.scala:17) at SandBox.main(SandBox.scala)
FTP连接成功;我也可以制作目录。 我的目录权限为 755,文件权限为 644。
我也通过 Filezilla 做了一些测试,我可以创建文件、删除文件、创建目录...
你能帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)