New Project

Ani 폴더 리스트 가져오는 API
This commit is contained in:
2024-11-12 23:35:40 +09:00
parent 4cd0f2b72a
commit 85c7adeb2a
10 changed files with 723 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using System.Diagnostics;
namespace VideoArchiveAPI.Controllers
{
[ApiController]
[Route("[controller]")]
public class VideoController : ControllerBase
{
private readonly ILogger<VideoController> _logger;
private readonly Config _config;
public VideoController(ILogger<VideoController> logger, IOptions<Config> config)
{
_logger = logger;
_config = config.Value;
}
[HttpGet(Name = "VideoController")]
public ActionResult<List<string>> Get()
{
GetData getData = new GetData();
List<string> directorys = getData.GetSubDirectories(_config.Location);
if (directorys.Count == 0)
{
return NotFound();
}
else
{
return Ok(directorys);
}
}
}
public class GetData
{
public List<string> GetSubDirectories(string path)
{
List<string> directorys = new List<string>();
string[] dirs = System.IO.Directory.GetDirectories(path);
foreach (string dir in dirs)
{
string[] subDirs = System.IO.Directory.GetDirectories(dir);
if(subDirs.Length == 0)
{
directorys.Add(dir.Replace(path,"").Replace("\\", ""));
}
else
{
directorys.AddRange(GetSubDirectories(dir));
}
}
return directorys;
}
}
}