面试题答案
一键面试实现思路
- 接收文件上传:
- 使用
multer
等中间件来处理文件上传部分,它可以方便地解析multipart/form - data
格式的数据,这是文件上传常用的格式。 - 配置
multer
,指定文件存储的位置等相关参数。
- 使用
- 获取请求头特定字段:
- 在处理请求的路由函数中,通过
req.headers
对象获取请求头信息。 - 从
req.headers
中提取需要的特定字段。
- 在处理请求的路由函数中,通过
- 调整响应内容:
- 根据提取到的请求头特定字段的值,决定如何调整响应内容。例如,如果特定字段的值满足某种条件,返回不同的JSON数据、HTML页面或者不同格式的文件等。
可能用到的模块和方法
express
模块:- 用于构建Node.js web应用,处理HTTP请求和响应。
- 例如使用
app.post
方法来定义处理POST请求的路由,示例代码如下:
const express = require('express'); const app = express(); app.post('/upload', (req, res) => { // 处理请求逻辑 });
multer
模块:- 处理文件上传。
- 使用
multer
的diskStorage
方法来配置文件存储,示例代码如下:
const multer = require('multer'); const storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uploads/'); }, filename: function (req, file, cb) { cb(null, file.originalname); } }); const upload = multer({ storage: storage }); app.post('/upload', upload.single('file'), (req, res) => { // 处理文件上传后的逻辑 });
- 访问请求头字段:
- 在路由处理函数中,通过
req.headers
访问请求头。例如,假设要获取名为custom - header
的字段,代码如下:
app.post('/upload', upload.single('file'), (req, res) => { const customHeader = req.headers['custom - header']; if (customHeader) { // 根据customHeader的值调整响应 } });
- 在路由处理函数中,通过