ASP.NET Core에서 PNG 이미지를 Base64 문자열로 변환하는 API 만들기
추천 자료: ASP.NET Core 인증 및 권한 부여
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 형식으로 제공됩니다. 클라이언트에서는 이 데이터를 활용하여 이미지 태그에서 직접 표시하거나, 특정 애플리케이션에서 사용할 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!