[英]File name extension to MIME type
仅使用 JavaScript 和 dojo/jQuery 等框架...
有没有办法找到特定文件扩展名的内容类型?
假设我输入字符串“something.pdf”,我想显示一个提示“application/pdf”
或“something.html”显示“text/html”?
我认为您需要自己维护映射(您可以XHR 一个物理文件并获取它,但我怀疑您是否想要这样做)...
(function() {
var extToMimes = {
'img': 'image/jpeg',
'png': 'image/png',
...
}
window.getMimeByExt = function(ext) {
if (extToMimes.hasOwnProperty(ext)) {
return extToMimes[ext];
}
return false;
}
})();
如果它在您的映射中不存在,这将返回false
。 如果你愿意,你可以只返回extToMimes[ext]
,如果它不存在,它将给出undefined
。 它也不会意外地将东西带到原型链上。
如果它是文件input
,也可以选择访问它。
var mime = $('input[type="file"]').prop('files')[0].file;
请记住,mime 类型的扩展名不能保证实际文件本身; 您需要在服务器端解析它以确定它到底是什么类型的文件。
你可以使用节点mime
<script src="https://wzrd.in/standalone/mime@latest"></script>
<script>
mime.getType("something.pdf"); // etc.
<script>
https://wzrd.in/standalone/mime@latest目前不可用,所以你必须使用:
<script>
import mime from 'https://cdn.skypack.dev/mime';
console.log( mime.getType("file.jpg"));
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.