当前位置:网站首页>nodeJs--mime模块
nodeJs--mime模块
2022-08-02 00:05:00 【H5_ljy】
一、mime模块是什么
mime是一个互联网标准,通过设定它就可以设定文件在浏览器的打开方式。
它是第三方模块,需要手动下载。
二、如何安装mime模块
使用npm安装模块
npm -i mime //下载到全局则要加-g
安装完后项目中会出现node_modules和json文件说明安装成功;接下来就可以使用require来引入它了
三、mime模块方法
1.mime.getType(url)
可以通过路径返回资源类型
可以给网站请求的资源(html、css等)添加一个content-type
没有添加content-type使用高级浏览器不会出错,但低级浏览器可能会出错
var http = require('http')
var url = require('url')
var mime = require('mime')
var fs = require('fs')
http.createServer((req, res) => {
let pathname = url.parse(req.url).pathname
let type = mime.getType(req.url)
console.log(type)
fs.readFile(__dirname + pathname, (err, data) => {
if (!err) {
res.setHeader("content-Type", type)
res.end(data)
}
})
}).listen(8081)
当我访问test.txt文档时
2.mime.getExtension(type)
查询文件护展名可配合getType使用,传入的是MIME类型
var mime = require('mime')
var type=mime.getType("./img/test.txt")
let type2=mime.getExtension(type)
console.log(type,type2)
3.mime.define
mime自定义类型,当mime模块自带的mime-db库不存在或不能满足我们所需的MIME类型时,还可以自定义MIME类型
var mime = require('mime')
mime.define({
'text/mytext': ['t-txt', 't-ext', 't-xt'],
});
type=mime.getExtension('text/mytext')
console.log(type)
边栏推荐
猜你喜欢
随机推荐
REST会消失吗?事件驱动架构如何搭建?
【解决】win10下emqx启动报错Unable to load emulator DLL、node.db_role = EMQX_NODE__DB_ROLE = core
具有通信时延的多自主体系统时变参考输入的平均一致性跟踪
07-SDRAM: FIFO control module
在不完全恢复、控制文件被创建或还原后,必须使用 RESETLOGS 打开数据库,解释 RESETLOGS.
CRS management and maintenance
以交易为生是一种什么体验?
基于超参数自动寻优的工控网络入侵检测
回顾历史5次经济衰退时期:这一次可能会有何不同?
[Three sons] C language implements simple three sons
security跨域配置
What is the function of the JSP Taglib directive?
How to get the best power efficiency in Windows 11?
QML package management
SphereEx Miao Liyao: Database Mesh R&D Practice under Cloud Native Architecture
基于编码策略的电网假数据注入攻击检测
JSP Taglib指令具有什么功能呢?
ROS dynamic parameters
How to reinstall Win11?One-click method to reinstall Win11
如何设计循环队列?快进来学习~