본문 바로가기

ASP.NET&C#/ASP.NET MVC

[ASP.NET/MVC CORE] #14 MIME 맵핑하기

[ASP.NET/MVC CORE] #14 MIME 맵핑하기

안녕하세요 미나라이입니다.

 

이번에는 ASP.NET CORE MVC Web에서 MIME타입을 맵핑하는 방법에 대해서 간단하게 포스팅 하겠습니다.

프로젝트 환경

OS : Windows 10

IDE : Visual Studio Code 1.62.2

.Net SDK : 5.0.403

.Net Runtime : .NetCore.App 5.0.10 / 5.0.12

MIME 맵핑을 별도로 추가해야 하는 경우

프로젝트에서 외부 확장자의 파일을 로드해야 할 경우 해당 파일의 타입을 정의해야 하는 경우가 있습니다.

 

.json 확장자의 파일을 예로 들어 봅시다.

.json 파일은 많이 사용되는 확장자로써 MIME에 이미 등록되어 있습니다.

.json타입 : application/json

 

외부 파일의 확장자가 .we-json이고 .json 형식으로 읽으려고 할 때 해당 확장자는 MIME에 등록되어있지 않기 때문에 json파일로써 인식하지 않습니다.

MIME타입을 정의하지 않으면 디폴트 타입인 바이너리 타입으로 인식합니다

디폴트 타입 : application/octet-stream

 

 그렇기 때문에 서버에 MIME을 직접 등록하거나 프로젝트에 인식 할 수 있는 코드를 추가 해 주어야 합니다.

ASP.NET CORE MVC에서 MIME 맵핑을 추가하는 방법은 아래와 같습니다.

 

Startup.cs

using Microsoft.AspNetCore.StaticFiles;

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // .we-json 파일을 .json 파일과 같은 타입으로 맵핑되도록 설정
    var provider = new FileExtensionContentTypeProvider();
    provider.Mappings[".we-json"] = "application/json";
    app.UseStaticFiles(new StaticFileOptions{ContentTypeProvider = provider});
    ...
}
728x90
반응형