文件夹内多个文件的C#FTP上传文件优先级

时间:2019-01-02 18:38:54

标签: c# ftp

我有一个FTP功能,该功能将本地文件夹同步到远程FTP目录,然后由服务器端脚本对其进行处理,以创建受密码保护的照片库。通常有4至6个jpg文件和一个txt文件。 txt文件只是一个文本字符串,将对其进行分析以创建画廊密码。除非正在同步的文件夹超过6MB左右,否则它可以正常工作。然后碰到了麻烦,因为有时直到照片之后才上传密码文件。发生这种情况时,服务器将解释为“没有密码文件,因此创建没有密码的库”。在服务器脚本上处理文件的方式似乎是逻辑上的缺陷,但是我使用的是商业许可的图片库,因此我可能不得不在此发言。

我的困境是弄清楚如何确定文件夹中上载的文件的优先级,以使txt文件始终排在第一位,其次是jpg文件。提前致谢。

1 个答案:

答案 0 :(得分:2)

假设您有文件列表,例如通过使用Directory.GetFiles(),而不是并行上传它们,您只需要根据order them their extension

foreach(var file in fileList.OrderBy(c => Path.GetExtension(c) == ".txt" ? 0 : 1) {
 // Upload the file
}

如果要并行上传,则需要首先选择txt文件(例如,使用where-Clause而不是OrderBy-clause)并上传,然后继续所有其他文件的正常上传过程。