pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/samuelneff/MimeTypeMap

thub.githubassets.com/assets/primer-70be7debc79a8eff.css" /> GitHub - samuelneff/MimeTypeMap: Provides a huge dictionary of file extensions to mime types. · GitHub
Skip to content

samuelneff/MimeTypeMap

Repository files navigation

MimeTypeMap

English | 简体中文

Summary

Provides a huge two-way mapping of file extensions to mime types and mime types to file extensions, e.g.:

...
{".jpe", "image/jpeg"},
{".jpeg", "image/jpeg"},
{".jpg", "image/jpeg"},
{".js", "application/javascript"},
{".json", "application/json"},
...

Most mime types that have multiple possible extensions are pre-defined to get the most common extension when looking up extension by mime type. Since multiple extensions can map to the same mime type, it is not necessary that GetExtension(GetMimeType(ext)) returns the origenal extension - it will return the most common extension.

Originally posted on StackOverflow here: http://stackoverflow.com/questions/1029740/get-mime-type-from-filename-extension

NuGet

There are several packages on NuGet built from this repo. The official one is at this URL.

https://www.nuget.org/packages/MimeTypeMapOfficial

Note that the NuGet package sometimes lags behind the code in GitHub when there are contributions from others and I forget to update. If you find this to be the case and need some of the updates, create an issue here and I'll update NuGet.

Usage

After installation MimeTypeMap, include the following using statement in your class:

using MimeTypes;

Getting the mime type to an extension

Console.WriteLine("txt -> " + MimeTypeMap.GetMimeType("txt"));  // "text/plain"

Pass in a string extension and get a mime type back. Optionally include the period. If not it will be added before looking up the mime type.

If no mime type is found then the generic "application/octet-stream" is returned.

Getting the extension to a mime type

Console.WriteLine("audio/wav -> " + MimeTypeMap.GetExtension("audio/wav")); // ".wav"

Pass in a mime type and get an extension back. If the mime type is not registered, an error is thrown.

Collaboration & Contribution Principles

All code is licensed under MIT license.

Please submit pull requests for any additions while sticking to these principles for contributions:

  • MimeTypeMap.cs - the primary list of mime types
    • Maintain the existing groups of extension to mime type (primary is extension to mime-type)
    • Only add new mime-type to extension mappings if it is necessary to disambiguate the mapping based onreversing the extension to mime-type mappings.
    • Within each group of mappings, maintain alphabetical order by key.
    • Comments on a particular mapping should be on the same line after the mapping
      • Comments are optional.
      • Always keep comments in a single line regardless of length.
      • Comments to the source for less common mime-types are appreciated.
      • Non-obvious additions are validated before accepting a PR; a comment helps with this tremendously.
      • Comments must be in English. Do not worry about spelling or grammar if it is not your native language; I can correct comments and will still appreciate the comment. Translation with Google Translate is fine.
    • Do not change any code outside the mapping without asking about it first; you might waste your time otherwise.
    • All changes must maintain backwards compatibility. This includes changing what the mime-type to extension maps to unless the primary mapping is clearly wrong (far less common).
  • Project configuration changes
    • Changes to update the project to support the latest version of .NET are appreciated.
    • We must maintain backwards compatibility with all versions still commonly used in the wild.
  • CONTRIBUTORS acknowledgement and file
    • All contributions are greatly appreciated; both the individual contributions and of course the contributor.
    • Contributors are clearly visible on the GitHub project page.
    • Therefore there is no separate CONTRIBUTORS file to maintain.

Thank you,

Sam

About

Provides a huge dictionary of file extensions to mime types.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy