Files
Crudelis 2d328c55c9 Bug Fix
리눅스 폴더명이 붙어 나오는 문제 수정
2025-02-04 22:11:25 +09:00

58 lines
1.6 KiB
C#

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("\\", "").Replace("/",""));
}
else
{
directorys.AddRange(GetSubDirectories(dir));
}
}
return directorys;
}
}
}