文件扩展名为 MIME 类型
File name extension to MIME type
仅使用 JavaScript 和框架,如 dojo/jQuery...
有没有办法找到特定文件扩展名的内容类型?
假设我输入字符串"something.pdf",我想显示一个警报,上面写着"应用程序/pdf">
还是"某物.html"显示"文本/HTML"?
你可以使用node-mime
<script src="https://wzrd.in/standalone/mime@latest"></script>
<script>
mime.getType("something.pdf"); // etc.
<script>
我认为您需要自己维护映射(您可以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
。它也不会意外地将东西带到原型链上。
如果它是 文件input
.
var mime = $('input[type="file"]').prop('files')[0].file;
请记住,mime 类型的扩展名并不能保证实际文件本身;您需要解析它在服务器端以确定它到底是什么类型的文件。
https://wzrd.in/standalone/mime@latest 目前不可用,因此您必须使用:
<script>
import mime from 'https://cdn.skypack.dev/mime';
console.log( mime.getType("file.jpg"));
</script>
相关文章:
- 如何通过JavaScript了解当前加载页面的mime类型或内容类型
- EventSource 的响应具有非“文本/事件流”的 MIME 类型(“文本/纯文本”)
- Node js:如何获取文件签名标头而不是 mime 类型
- 如何在 Node.js 中发送文件之前设置 MIME 类型
- 我收到消息“资源解释为脚本,但使用 MIME 类型文本/html 传输”
- 资源被解释为脚本,但使用MIME类型text/plain传输
- 找不到 IE8 MIME 类型应用程序/json
- Safari-->"应用程序缓存清单的MIME类型不正确:text/plain&”;
- 我应该对 JavaScript 源映射文件使用哪种 MIME 类型
- Internet Explorer mimeType 始终为空,并且无法在此浏览器中获取支持的 MIME 类型
- 如何在一个 Http 响应中将多个 mime 类型返回到 Web 客户端
- 如何解决“资源解释为脚本但使用 MIME 类型文本/html 传输”
- 在Codeigniter中上传ajax上的奇怪MIME类型
- Javascript:如何从HTML文件输入中获取.tgz MIME类型
- FineUploader 和 Mime 类型(------WebKitFormBoundary) 附加到文件中
- 在 Tomcat 中更改 .xml.gz 的 mime 类型
- 请求的内容类型标头包含的不仅仅是 MIME 类型,为什么
- 在该应用程序上运行SortSite时,此IMG链接到图像的MIME类型错误的文件
- $.ajax表单使用JSONP提交给Google文档:“;被解释为脚本但用MIME类型text/html传输的资源”;
- 资源被解释为图像,但使用MIME类型的应用程序/八位字节流传输