Node.js Express文件上传接口详解
文件上传的服务写过不少,但用Express
整一个小而美的上传接口,还是挺顺手的。最近在研究Settings-Sync
插件,发现它上传数据其实就是调了个GitHub API
,那不如自己撸一个小服务模拟下。这样无论是调试插件,还是搞个同步服务,操作都更灵活了。
Node.js 的 Express 服务,上手门槛低,写个上传接口分分钟的事。用npm init
建个项目,装上express
和multer
,前端只要用个FormData
打包文件,求接口就行。响应也快,代码也清爽,前后端都舒服。
文件上传核心其实就靠multer
中间件。它能帮你multipart/form-data
这种类型的求,自动把文件存下来,还能配置路径、文件名、大小限制。写好接口后,直接在插件或者网页里试一试,立马见效果。
比如下面这段代码,就是一个最基本的上传服务:
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' });
app.post('/upload', upload.single('file'), (req, res) => {
res.send('文件上传成功');
});
app.listen(3000, () => console.log('服务已启动'));
嗯,这么一套下来,想对接Settings-Sync
或者模拟GitHub API
接口都挺方便的。如果你也在做插件开发或者需要上传,推荐你参考这些文章:
如果你是第一次搞Express
上传,建议从单文件入手,跑通流程后再去扩展多文件、多字段,省得一上来就绕晕。对了,别忘了加文件大小限制,不然被人搞个几十兆的文件传进来,服务器得哭。
165.83KB
文件大小:
评论区