forked from ddrilling/AsbCloudServer
52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using System.IO;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace AsbCloudApp.Services
|
||
{
|
||
/// <summary>
|
||
/// Репозиторий хранения фалов
|
||
/// </summary>
|
||
public interface IFileStorageRepository
|
||
{
|
||
/// <summary>
|
||
/// Директория хранения файлов
|
||
/// </summary>
|
||
string RootPath { get; }
|
||
|
||
/// <summary>
|
||
/// Получение длинны фала и проверка его наличия, если отсутствует падает исключение
|
||
/// </summary>
|
||
/// <param name="srcFilePath"></param>
|
||
/// <returns></returns>
|
||
long GetLengthFile(string srcFilePath);
|
||
|
||
/// <summary>
|
||
/// Перемещение файла
|
||
/// </summary>
|
||
/// <param name="srcFilePath"></param>
|
||
/// <param name="filePath"></param>
|
||
void MoveFile (string srcFilePath, string filePath);
|
||
|
||
/// <summary>
|
||
/// Копирование файла
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
Task CopyFileAsync(string filePath, Stream fileStream, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Удаление файла
|
||
/// </summary>
|
||
/// <param name="fileName"></param>
|
||
void DeleteFile(string fileName);
|
||
|
||
/// <summary>
|
||
/// Проверка наличия файла
|
||
/// </summary>
|
||
/// <param name="fullPath"></param>
|
||
/// <param name="fileName"></param>
|
||
/// <returns></returns>
|
||
bool FileExists(string fullPath, string fileName);
|
||
}
|
||
}
|