我的问题很简单。我在ftp服务器上有一个exe文件,版本为1.0.0.0。我想下载它,但仅限于版本大于某个预设值。 (所有这些都在C#桌面应用程序中)。
我在网上看到,如果不首先下载文件,就无法通过FTP告诉文件的版本。它是否正确? (我宁愿不这样做,因为文件相当大,大部分时间都不需要下载。)
如果是,我看到的推荐解决方案是在FTP目录中创建一个包含目标exe文件版本的文本文件。显然它不会很大,所以可以快速下载。如果我不能直接获取exe版本,这是最好的解决方案吗?
感谢您的帮助!
答案 0 :(得分:5)
您不能,因为FTP没有文件版本的协议规范。根据您使用的FTP服务器,在DIR命令中,您可能拥有该文件的日期时间信息。因此,我认为元数据文件是最简单的解决方案。另一个更具挑战性的解决方案是制作一些FTP源代码以返回版本信息以及DIR命令,据我所知ftp协议对dir命令的细节没有任何限制,但它不容易所以是给你评估好处,并记住这是一个与你的服务器客户端对一起工作的解决方案。如果您不介意协议,那么使用Mercurial(或其他verioning系统)存储库可能是最聪明的选择。
答案 1 :(得分:2)
如果没有下载exe,则FTP协议不支持此功能。
我会推荐版本文件。
答案 2 :(得分:2)
FTP协议不支持任何版本检查。添加可以检查文件版本的HTTP服务。