首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在上传到SFTP时保留修改后的文件时间戳

在上传到SFTP时保留修改后的文件时间戳
EN

Stack Overflow用户
提问于 2020-02-28 11:54:46
回答 2查看 1.3K关注 0票数 1

我需要保存修改后的时间戳的文件,同时上传到SFTP网站。

我正在使用com.enterprisedt.net.ftp.ssh.SSHFTPclient进行转帐。

如果有什么办法请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-28 12:07:37

上传后打电话给SSHFTPClient.setModTime

代码语言:javascript
复制
sshFtpClient.setModTime(remotePath, new Date(new File(localPath).lastModified());
票数 1
EN

Stack Overflow用户

发布于 2020-02-28 14:30:26

如果有办法请告诉我。

在传输文件时,无法保存时间戳。SFTP协议不允许这样做。

SFTP线路协议规范文档从未被完成和批准,但大多数草案(对于该协议的版本6)是草案-ietf-secsh-filexfer-13

如果您查看第8.1节和第8.2节,您将看到客户机请求打开文件(SSH_FXP_OPEN)和写入文件(SSH_FXP_WRITE)时不会将任何时间戳信息从客户端传递到服务器。由于请求没有传递时间戳,因此无法在传输中保留它们。

如果您想“保留”时间戳,协议文档指出客户端需要发送一个SSH_FXP_SETSTATSSH_FXP_FSETSTAT请求来更新相关的文件属性。

马丁的回答有使用SSHFTPClient库进行此操作的代码。

我没有检查,但我确信这也适用于SFTP协议的早期版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60451215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档