Alv*_*vis 4 ftp checksum ftp-client apache-commons-net
我正在使用Apache Commons Net的FtpClient将视频上传到FTP服务器.要检查文件是否确实已成功传输,我想计算远程文件的校验和,但遗憾的是我发现没有可用的相关API.
我的问题是:是否需要在ftp服务器中计算文件校验和?
如果答案是肯定的,那么如何在FtpClient中获取校验和?
如果答案是否定的,那么FtpClient如何知道文件是否真的成功并完全转移?
Mar*_*ryl 10
使用FTP,我建议,以验证上传,如果可能的话.
问题是没有广泛的标准API用于使用FTP计算校验和.
FTP的校验和计算命令有很多建议.尚未被接受.
最新提案是:https:
//tools.ietf.org/html/draft-bryan-ftpext-hash-02
因此,不同的FTP服务器支持不同的校验和命令,语法不同.HASH,XSHA1,XSHA256,XSHA512,XMD5,MD5,XCRC,命名一些.您需要检查FTP服务器支持的内容(如果有).
您可以使用WinSCP进行测试.WinSCP支持所有前面提到的命令.测试其校验和计算功能或checksum脚本命令.如果它们有效,请启用日志记录并检查WinSCP对您的服务器使用的命令和语法.
> 2015-04-28 09:19:16.558 XSHA1 /test/file.dat
< 2015-04-28 09:19:22.778 213 a98faefdb2c36ca352a2d9b01668aec6b641cf4b
Run Code Online (Sandbox Code Playgroud)
然后使用Apache Commons Net sendCommand方法执行命令:
if (FTPReply.isPositiveCompletion(ftpClient.sendCommand("XSHA1", "filename"))
{
String[] reply = ftpClient.getReplyStrings();
}
Run Code Online (Sandbox Code Playgroud)
(我是WinSCP的作者)
如果您的服务器不支持任何校验和命令,则您没有很多选项:
| 归档时间: |
|
| 查看次数: |
6464 次 |
| 最近记录: |