Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a correct MIME type for .docx, .pptx, etc.?

For older *.doc documents, this was enough:

header("Content-Type: application/msword"); 

What MIME type should I use for new .docx documents? Also, for pptx and xlsx documents?

like image 940
Richard Knop Avatar asked Nov 18 '10 08:11

Richard Knop


People also ask

What is MIME type of a file?

A media type (also known as a Multipurpose Internet Mail Extensions or MIME type) indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

What are different MIME types?

A MIME type consists of two parts: a type and a subtype. Currently, there are ten registered types: application, audio, example, font, image, message, model, multipart, text, and video.


2 Answers

Alternatively, if you're working in .NET v4.5 or above, try using System.Web.MimeMapping.GetMimeMapping(yourFileName) to get MIME types. It is much better than hard-coding strings.

like image 41
Pete Avatar answered Sep 27 '22 16:09

Pete


Here are the correct Microsoft Office MIME types for HTTP content streaming:

Extension MIME Type .doc      application/msword .dot      application/msword  .docx     application/vnd.openxmlformats-officedocument.wordprocessingml.document .dotx     application/vnd.openxmlformats-officedocument.wordprocessingml.template .docm     application/vnd.ms-word.document.macroEnabled.12 .dotm     application/vnd.ms-word.template.macroEnabled.12  .xls      application/vnd.ms-excel .xlt      application/vnd.ms-excel .xla      application/vnd.ms-excel  .xlsx     application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xltx     application/vnd.openxmlformats-officedocument.spreadsheetml.template .xlsm     application/vnd.ms-excel.sheet.macroEnabled.12 .xltm     application/vnd.ms-excel.template.macroEnabled.12 .xlam     application/vnd.ms-excel.addin.macroEnabled.12 .xlsb     application/vnd.ms-excel.sheet.binary.macroEnabled.12  .ppt      application/vnd.ms-powerpoint .pot      application/vnd.ms-powerpoint .pps      application/vnd.ms-powerpoint .ppa      application/vnd.ms-powerpoint  .pptx     application/vnd.openxmlformats-officedocument.presentationml.presentation .potx     application/vnd.openxmlformats-officedocument.presentationml.template .ppsx     application/vnd.openxmlformats-officedocument.presentationml.slideshow .ppam     application/vnd.ms-powerpoint.addin.macroEnabled.12 .pptm     application/vnd.ms-powerpoint.presentation.macroEnabled.12 .potm     application/vnd.ms-powerpoint.template.macroEnabled.12 .ppsm     application/vnd.ms-powerpoint.slideshow.macroEnabled.12  .mdb      application/vnd.ms-access 

For further details check out this TechNet article and this blog post.

like image 80
Dirk Vollmar Avatar answered Sep 27 '22 16:09

Dirk Vollmar