This commit is contained in:
2026-05-28 19:15:14 +03:30
parent 7e08427539
commit 8a66b8b7e9
2 changed files with 459 additions and 299 deletions
+60 -42
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.FileProviders;
@@ -11,7 +12,8 @@ using xStorageService.Models;
namespace xStorageService.Interfaces namespace xStorageService.Interfaces
{ {
public partial interface IXStorageProvider { public partial interface IXStorageProvider
{
XStorageConfiguration Configuration { get; } XStorageConfiguration Configuration { get; }
XStorageHelper StorageHelper { get; } XStorageHelper StorageHelper { get; }
IFileProvider FileProvider { get; } IFileProvider FileProvider { get; }
@@ -19,85 +21,101 @@ namespace xStorageService.Interfaces
// //
#region Special Folders Path Getter (s) ... #region Special Folders Path Getter (s) ...
string GetStorageFolderPath (); string GetStorageFolderPath();
string GetTempFolderPath (); string GetTempFolderPath();
string GetThumbFolderPath (); string GetThumbFolderPath();
string GetUploadsFolderPath (); string GetUploadsFolderPath();
string GetWidgetsFolderPath (); string GetWidgetsFolderPath();
string GetImageFolderPath (); string GetImageFolderPath();
string GetAudioFolderPath (); string GetAudioFolderPath();
string GetVideoFolderPath (); string GetVideoFolderPath();
string GetDocumentFolderPath (); string GetDocumentFolderPath();
string FilePathResolver (string fullPath); string FilePathResolver(string fullPath);
string ConvertToFileUrl(string fullPath); string ConvertToFileUrl(string fullPath);
#endregion #endregion
// //
#region Prepare Storage Structure ... #region Prepare Storage Structure ...
void Prepare (); void Prepare();
#endregion #endregion
// //
#region Validators ... #region Validators ...
bool IsFolderExists (string path); bool IsFolderExists(string path);
bool IsFileExists (string filePath); bool IsFileExists(string filePath);
bool IsSupportThumb (string fileName); bool IsSupportThumb(string fileName);
bool IsSupportThumb (XFileType type); bool IsSupportThumb(XFileType type);
void ValidateFileExists (string filePath); void ValidateFileExists(string filePath);
void ValidateFileModel (XFileDto file); void ValidateFileModel(XFileDto file);
void ValidateFile (IFormFile file); void ValidateFile(IFormFile file);
void ValidateProfileImage (IFormFile file); void ValidateProfileImage(IFormFile file);
#endregion #endregion
// //
#region Generators ... #region Generators ...
string NewFileName (); string NewFileName();
string GenerateThumbName (string fileName); string GenerateThumbName(string fileName);
string GetNewFileName (string fileName); string GetNewFileName(string fileName);
#endregion #endregion
// //
#region Tools Actions ... #region Tools Actions ...
string GetFileExtension (string fileName); string GetFileExtension(string fileName);
string GetFileNameWithoutExtension (string fileName); string GetFileNameWithoutExtension(string fileName);
FileExtensions GetFileExtensionType (string fileName); FileExtensions GetFileExtensionType(string fileName);
XFileType GetFileType (string fileName); XFileType GetFileType(string fileName);
XFileType GetFileType (FileExtensions fileExtension); XFileType GetFileType(FileExtensions fileExtension);
string GetThumbnailFileFullPath (string thumFileName); string GetThumbnailFileFullPath(string thumFileName);
string GetRelatedThumbnailFullPath (string fileName); string GetRelatedThumbnailFullPath(string fileName);
string GetFileTypeFolderPath (XFileType type); string GetFileTypeFolderPath(XFileType type);
string GetFileFolderPath ( string GetFileFolderPath(
string fileName, string fileName,
bool isTemp = false, bool isTemp = false,
bool isWidget = false bool isWidget = false
); );
string GetFileFullPath ( string GetFileFullPath(
string fileName, string fileName,
bool isTemp = false, bool isTemp = false,
bool isWidget = false bool isWidget = false
); );
Task<string> SaveFileAsync ( Task<string> SaveFileAsync(
IFormFile file, IFormFile file,
bool isTemp = false, bool isTemp = false,
bool isWidget = false bool isWidget = false,
CancellationToken cancellationToken = default
); );
void DeleteFile ( void DeleteFile(
string fileFullPath, string fileFullPath,
bool forceFileExists = true, bool forceFileExists = true,
Exception exception = null Exception exception = null
); );
ICollection<string> DeleteFiles ( ICollection<string> DeleteFiles(
ICollection<string> fileFullPaths, ICollection<string> fileFullPaths,
bool forceFileExists = true, bool forceFileExists = true,
Exception exception = null Exception exception = null
); );
// Task CreateThumbnail (XFile file); // Task CreateThumbnail (XFile file);
Task CreateThumbnail (XFileDto file); Task CreateThumbnail(
Task CreateThumbnail (string fileName); XFileDto file,
Task<XFileResult> HandleProfileImageSave (IFormFile file); CancellationToken cancellationToken = default
Task<XFileResult> HandleFileSave (IFormFile file); );
Task<IEnumerable<XFileResult>> HandleFilesSave (IFormFileCollection files); Task CreateThumbnail(
string fileName,
CancellationToken cancellationToken = default
);
Task<XFileResult> HandleProfileImageSave(
IFormFile file,
CancellationToken cancellationToken = default
);
Task<XFileResult> HandleFileSave(
IFormFile file,
CancellationToken cancellationToken = default
);
Task<IEnumerable<XFileResult>> HandleFilesSave(
IFormFileCollection files,
CancellationToken cancellationToken = default
);
#endregion #endregion
} }
} }
File diff suppressed because it is too large Load Diff