0

我的问题很简单。我在一个版本为 1.0.0.0 的 ftp 服务器上有一个 exe 文件。我想下载它,但前提是版本大于某个预设值。(所有这些都在 C# 桌面应用程序中)。

我在网上读到,如果不先下载文件,就无法通过 FTP 告诉文件的版本。它是否正确?(我宁愿不这样做,因为文件相当大,大部分时间都不需要下载)。

如果是,我看到推荐的解决方案是在 FTP 目录中创建一个包含目标 exe 文件版本的文本文件。显然它不会很大,因此可以快速下载。如果我不能直接获取 exe 版本,这是最好的解决方案吗?

谢谢您的帮助!

4

3 回答 3

5

你不能,因为 FTP 没有文件版本的协议规范。根据您使用的 FTP 服务器,在 DIR 命令中您可能拥有有关文件的日期时间信息。所以是的,我认为拥有元数据文件是最好的更简单的解决方案。另一个更具挑战性的解决方案是制作一些 FTP 源代码以返回版本信息以及 DIR 命令,据我所知,ftp 协议对 dir 命令的细节完全没有限制,但这并不容易所以是让您评估收益并记住这是一个仅与您的服务器客户端对一起使用的解决方案。如果您不介意该协议,那么提供 Mercurial(或其他版本系统)存储库可能是最明智的选择。

于 2012-08-17T14:37:56.897 回答
2

不,不下载 exe,FTP 协议不支持此功能。

我会推荐版本文件。

于 2012-08-17T14:36:36.533 回答
2

FTP 协议不支持任何版本检查。添加可以检查文件版本的 HTTP 服务。

于 2012-08-17T14:38:02.550 回答