ASP.NET Core에서 PNG 이미지를 Base64 문자열로 변환하는 API 만들기

  • 2 minutes to read

ASP.NET Core에서 특정 이미지 파일을 Base64 문자열로 변환하여 반환하는 API를 구현할 수 있습니다. 이 API는 wwwroot/images/logos/ 디렉터리에서 이미지를 찾아 data:image/png;base64,... 형식으로 변환한 후 반환합니다.


1. 프로젝트 구조 설정

먼저, 프로젝트 내에서 이미지를 저장할 디렉터리를 설정합니다. wwwroot/images/logos/ 폴더를 생성하고 변환할 PNG 이미지를 해당 폴더에 저장합니다.


2. ImageConversionController 생성

이제 ImageConversionController를 생성하여 클라이언트가 요청한 이미지 파일을 Base64 문자열로 변환하는 API를 구현합니다.

ImageConversionController.cs

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.IO;

namespace Zero.Codes
{
    [Route("api/[controller]")]
    [ApiController]
    public class ImageConversionController : ControllerBase
    {
        [HttpGet("{fileName}")]
        public IActionResult GetBase64Image(string fileName)
        {
            string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images", "logos", fileName);
            if (!System.IO.File.Exists(imagePath))
            {
                return NotFound("이미지를 찾을 수 없습니다.");
            }

            byte[] imageBytes = System.IO.File.ReadAllBytes(imagePath);
            string base64String = Convert.ToBase64String(imageBytes);
            string dataUrl = $"data:image/png;base64,{base64String}";

            return Ok(dataUrl);
        }
    }
}

3. API 호출 및 사용 방법

API가 정상적으로 동작하는지 확인하려면 브라우저에서 다음과 같이 요청합니다.

GET http://localhost:5000/api/imageconversion/sample.png

정상적으로 실행되면 다음과 같은 Base64 문자열이 반환됩니다.

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

이 문자열을 HTML에서 이미지로 표시하려면 다음과 같이 사용할 수 있습니다.

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="Base64 Image">

4. 정리

이제 ImageConversionController를 통해 PNG 이미지를 Base64 문자열로 변환하여 사용할 수 있습니다. 해당 API를 호출하면 지정된 폴더에서 이미지를 찾아 변환한 후 Base64 형식으로 제공됩니다. 클라이언트에서는 이 데이터를 활용하여 이미지 태그에서 직접 표시하거나, 특정 애플리케이션에서 사용할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com