Beispiel #1
0
        /// <summary>
        /// Асинхронная загрузка файла средством <paramref name="ftpLoader"/>
        /// </summary>
        /// <param name="pathSrc">путь удаленного источника</param>
        /// <param name="pathTrg">локальный путь для сохранения</param>
        /// <param name="ftpLoader">объект, используемый для работы по ftp-протоколу</param>
        /// <returns></returns>
        private async Task DownloadAsync(string pathSrc, string pathTrg, FtpClient.FtpClient ftpLoader)
        {
            var result = await ftpLoader.DownloadFileAsync(pathSrc, pathTrg);

            if (result == FtpStatusCode.ClosingData && RemoveFromBlocks)
            {
                await ftpLoader.DeleteFileAsync(pathSrc);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Асинхронная загрузка файла средством <paramref name="ftpLoader"/>  с сохранением в zip-пакет
        /// </summary>
        /// <param name="pathSrc">путь удаленного источника</param>
        /// <param name="zipPackage">объект, представляющий контейнер для хранения нескольких объектов</param>
        /// <param name="partPackageName">имя части пакета</param>
        /// <param name="ftpLoader">объект, используемый для работы по ftp-протоколу</param>
        /// <returns></returns>
        private async Task DownloadZipAsync(string pathSrc, Package zipPackage, string partPackageName, FtpClient.FtpClient ftpLoader)
        {
            var partUri     = PackUriHelper.CreatePartUri(new Uri(partPackageName, UriKind.Relative));
            var packagePart = zipPackage.CreatePart(partUri, System.Net.Mime.MediaTypeNames.Text.Plain, CompressionOption.Normal);
            var result      = await ftpLoader.DownloadFileAsync(pathSrc, packagePart.GetStream());

            if (result == FtpStatusCode.ClosingData && RemoveFromBlocks)
            {
                await ftpLoader.DeleteFileAsync(pathSrc);
            }
        }