我有一个关于com.jscape.inet.sftp.Sftp类中使用的简历上传方法的问题。
根据API,在下面的方法中,第二个参数是localFileOffset。
resumeUpload(java.lang.String localFile, long localFileOffset)localFileOffset是如何计算的?我假设localFileOffset应该是上传应该继续的地方,基本上是已经上传的文件的文件大小(以字节为单位)。
如下所示:
Boolean isRemoteFileAvailable = sftp.isValidPath(uploadDir + "/" + RemoteFileName);
if (isRemoteFileAvailable)
{
remoteFileSize = sftp.getFilesize(rrFileName);
localFileOffset = remoteFileSize;
}发布于 2015-05-13 14:33:47
经过几次的尝试和测试,这里是我的结论。
下面是方法定义: resumeUpload(java.io.File localFile,long localFileOffset)
如果使用的是localFileOffset (本地文件大小-远程文件大小),则最终会丢失数据。
第二个参数肯定不是本地文件偏移量,但它是以字节为单位的远程文件大小,计算为sftp.getFilesize(remoteFile);
我已经通过多次停止和使用简历上传来测试我的代码,并将原始文件与上传文件进行了比较。没有差别,最后的简历上传在几秒钟内完成,从而确认它是从它完成的地方恢复,而不是从零开始上传。
https://stackoverflow.com/questions/29990125
复制相似问题