MIME类型的文件扩展名

时间:2011-06-06 00:11:56

标签: javascript jquery dojo mime-types

仅使用像dojo / jQuery这样的JavaScript和框架......

有没有办法找到特定文件扩展名的Content-Type?

假如我输入字符串“something.pdf”,我想显示一条提示“application / pdf”

或“something.html”显示“text / html”?

2 个答案:

答案 0 :(得分:4)

我认为你需要自己维护映射(你可能 XHR是一个物理文件并获得它,但我怀疑你想这样做)...

(function() {

    var extToMimes = {
       'img': 'image/jpeg',
       'png': 'image/png',
       ...
    }

    window.getMimeByExt = function(ext) {
        if (extToMimes.hasOwnProperty(ext)) {
           return extToMimes[ext];
        }
        return false;
    }

})();

jsFiddle

如果映射中不存在,则返回false。如果您愿意,可以返回extToMimes[ext],如果不存在,则会undefined。它还won't accidentally get things up the prototype chain

如果它是文件input,还可以选择访问它。

var mime = $('input[type="file"]').prop('files')[0].file;

请记住,mime类型的扩展不保证实际文件本身;你需要解析服务器端以确定它到底是什么类型的文件。

答案 1 :(得分:0)

您可以使用node-mime

<script src="https://wzrd.in/standalone/mime@latest"></script>
<script>
    mime.getType("something.pdf"); // etc.
<script>