123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- -- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
- -- Licensed to the public under the Apache License 2.0.
- -- This class provides functions to guess mime types from file extensions and
- -- vice versa.
- module("luci.http.protocol.mime", package.seeall)
- require("luci.util")
- MIME_TYPES = {
- ["txt"] = "text/plain";
- ["js"] = "text/javascript";
- ["css"] = "text/css";
- ["htm"] = "text/html";
- ["html"] = "text/html";
- ["patch"] = "text/x-patch";
- ["c"] = "text/x-csrc";
- ["h"] = "text/x-chdr";
- ["o"] = "text/x-object";
- ["ko"] = "text/x-object";
- ["bmp"] = "image/bmp";
- ["gif"] = "image/gif";
- ["png"] = "image/png";
- ["jpg"] = "image/jpeg";
- ["jpeg"] = "image/jpeg";
- ["svg"] = "image/svg+xml";
- ["zip"] = "application/zip";
- ["pdf"] = "application/pdf";
- ["xml"] = "application/xml";
- ["xsl"] = "application/xml";
- ["doc"] = "application/msword";
- ["ppt"] = "application/vnd.ms-powerpoint";
- ["xls"] = "application/vnd.ms-excel";
- ["odt"] = "application/vnd.oasis.opendocument.text";
- ["odp"] = "application/vnd.oasis.opendocument.presentation";
- ["pl"] = "application/x-perl";
- ["sh"] = "application/x-shellscript";
- ["php"] = "application/x-php";
- ["deb"] = "application/x-deb";
- ["iso"] = "application/x-cd-image";
- ["tgz"] = "application/x-compressed-tar";
- ["mp3"] = "audio/mpeg";
- ["ogg"] = "audio/x-vorbis+ogg";
- ["wav"] = "audio/x-wav";
- ["mpg"] = "video/mpeg";
- ["mpeg"] = "video/mpeg";
- ["avi"] = "video/x-msvideo";
- }
- -- "application/octet-stream" if the extension is unknown.
- function to_mime(filename)
- if type(filename) == "string" then
- local ext = filename:match("[^%.]+$")
- if ext and MIME_TYPES[ext:lower()] then
- return MIME_TYPES[ext:lower()]
- end
- end
- return "application/octet-stream"
- end
- -- given mime-type is unknown.
- function to_ext(mimetype)
- if type(mimetype) == "string" then
- for ext, type in luci.util.kspairs( MIME_TYPES ) do
- if type == mimetype then
- return ext
- end
- end
- end
- return nil
- end
|