Utilisation de MimeMapping dans ASP.NET 5 (vNext)
j'essaie de faire passer mon ancien projet mvc5 au mvc6. L'ancien code était:
public string ContentType
{
get
{
if (!string.IsNullOrEmpty(FileName))
return MimeMapping.GetMimeMapping(FileName);
return null;
}
}
L'erreur est
le nom "MimeMapping" n'existe pas dans le contexte actuel
3 réponses
le code suivant doit fonctionner:
string contentType;
new FileExtensionContentTypeProvider().TryGetContentType(FileName, out contentType);
return contentType ?? "application/octet-stream";
il existe un paquet NuGet MimeTypes qui fonctionne avec .Net Core projects comme alternative à FileExtensionContentTypeProvider
. Je ne suis pas au courant d'un autre paquet de résolveur de type mime, qui fonctionne avec .Net Core (au moins jusqu'à présent).
l'usage est simple:
string fileName = "trial.jpg";
string mime = MimeKit.MimeTypes.GetMimeType(fileName);
.Le Web n'est pas déplacé .NetCore parce qu'il s'appuie trop sur les API qui sont spécifiques à la plate-forme. Vous pouvez jeter un oeil à Microsoft reference source:
https://github.com/Microsoft/referencesource/blob/master/System.Web/MimeMapping.cs
le code est soumis à une licence MIT.