diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
index d5651e0dd6a367e823c4e831b462879e01b3b1ff..fce0c43ab62d1ecbc8bff98a6292ccf1b320cb2e 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
@@ -11,6 +11,7 @@ namespace Tsi1.BusinessLayer.Interfaces
     public interface IFileService
     {
         Task<ServiceResult<string>> Create(IFormFile file, string tenantId, string courseId);
+        Task<List<string>> GetFileNames();
         ServiceResult<bool> DeleteFile(string filePath);
         bool ExistFile(string relativePath);
     }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
index 6a2f58803e877501bbef063effa082a2e6fd292e..2fd8e7295993c8a9c6fd911da30a4d3590f99501 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
@@ -115,5 +115,14 @@ namespace Tsi1.BusinessLayer.Services
 
             return fileName + "." + ext;
         }
+
+        public async Task<List<string>> GetFileNames()
+        {
+            var fileNames = await _context.Files.Select(x => Path.GetFileName(x.Path)).ToListAsync();
+
+            fileNames.RemoveAll(x => x.Length == 0);
+
+            return fileNames;
+        }
     }
 }