如何使用Kotlin在Android Studio中使用FTP上传小文件或图像

3

我正在尝试创建一个应用程序,需要将一些图像和文本文件上传到支持FTP的服务器。我来自Python背景,并在过去经常使用FTP,但在Kotlin中使用它时感到相当困惑,希望能得到帮助。


2
FTP是一种老旧、不安全且性能低下的协议,特别是因为它为每个文件传输打开一个新端口。考虑使用替代方案,如SFTP(不要与FTPS混淆)。 - msrd0
感谢您的建议,但我的服务器只支持FTP(有点麻烦),我想使用它,所以我在某种程度上被FTP所限制。 - BigZee
1个回答

5
您可以通过下载 ftp4j-1.7.2.jar 库来使用 ftp4j。下面是 Kotlin 的示例代码。
try {
    val mFtpClient = FTPClient()
    mFtpClient.connect("hots", PORT)
    mFtpClient.login("user", "password")
    mFtpClient.type = FTPClient.TYPE_BINARY
    mFtpClient.changeDirectory("/directory_path/")

    mFtpClient.upload(File("file_path"))
    mFtpClient.disconnect(true)

} catch (e: Exception) {
    e.printStackTrace()
}

2
@ZararYounis 那段代码不应该产生任何语法错误,你是否将库添加到了Gradle依赖项中? - msrd0
1
是的,我已经纠正了它,现在它可以工作了,谢谢。但最终我使用了Apache Commons Net库,我很快会上传代码。 - BigZee
有这个问题,但是应用程序会直接关闭? - Datadimension
在我的谷歌搜索中发现了这个。请注意,ftp4j看起来已经没有人维护了。GitHub上最后一个版本1.7.3发布于2015年,之后就没有任何活动了。我不建议使用过时的库。 - spiegelm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接