Подтвердить что ты не робот

Использование MimeMapping в ASP.NET 5 (vNext)

Я пытаюсь переместить мой старый проект mvc5 в mvc6. Старый код:

public string ContentType
{
    get
    {
        if (!string.IsNullOrEmpty(FileName))
            return MimeMapping.GetMimeMapping(FileName);
        return null;
    }
}

Ошибка

Имя "MimeMapping" не существует в текущем контексте

введите описание изображения здесь

4b9b3361

Ответ 1

Следующий код должен работать:

string contentType;
new FileExtensionContentTypeProvider().TryGetContentType(FileName, out contentType);
return contentType ?? "application/octet-stream";

Ответ 2

Существует пакет NuGet MimeTypes, который работает с проектами .Net Core в качестве альтернативы FileExtensionContentTypeProvider. Я не знаю о каком-либо другом пакете resolver mime-типа, который работает с .Net Core (по крайней мере до сих пор).

Использование прост:

string fileName = "trial.jpg";
string mime = MimeKit.MimeTypes.GetMimeType(fileName);

Ответ 3

System.Web не перемещается в .NetCore, потому что он слишком много полагается на API, специфичный для платформы. Вы можете взглянуть на исходный источник Microsoft:

https://github.com/Microsoft/referencesource/blob/master/System.Web/MimeMapping.cs

Код подлежит лицензии MIT.