logo

Получение файлов из сетевой папки

В данной статье описан пример получения файлов из сетевой папки. Для получения файлов необходимо подключить using System.IO;
//указываем путь до сетевой папки
string folderPath = @"\\10.0.0.5\Shared\Folder";
//загружаем данные о папке
DirectoryInfo folderInfo = new DirectoryInfo (folderPath);
if (folderInfo.Exists) {
//получаем файлы с нужным расширением, например .xml
var files = System.IO.Directory.GetFiles (folderPath, "*.xml", System.IO.SearchOption.TopDirectoryOnly);
//если в папке находятся файлы с расширением .xml
if (files.Any ()) {
//получаем путь до первого файла
var filePath = files.First ();
//создаем BinaryFile
var binaryFile = new BinaryFile ();
binaryFile.ContentFilePath = filePath;
binaryFile.CreateDate = DateTime.Now;
binaryFile.Name = System.IO.Path.GetFileName (filePath);
Locator.GetServiceNotNull<IFileManager> ().SaveFile (binaryFile);
}}

При необходимости удаления файла из сетевой папки используется соответствующий метод:

System.IO.File.Delete (filePath);

Важно понимать, что создание BinaryFile из файла по пути filePath и удаления файла по пути filePath необходимо выполнять в разных транзакциях.