//文件上传测试
const express = require('express');
const router = express.Router();
const fs = require('fs');
const multer = require('multer');
let path = require("path");
function uploadConfig(folder, mb, suffix) {
// folder:上传文件的具体分类(具体文件夹名字)
// mb:上传文件的大小限制(KB)
// suffix:上传文件的类型控制(数组)
path_new = path.resolve(__dirname, '../public/uploads/' + folder);
return multer({
storage: multer.diskStorage({
//文件存储位置
destination: (req, file, cb) => {
fs.mkdir(path_new, { recursive: true }, (err) => {
if (err) throw err;
});
cb(null, path_new);
},
//文件名
filename: (req, file, cb) => {
cb(null, `${Date.now()}_${Math.ceil(Math.random() * 1000)}_multer.${file.originalname.split('.').pop()}`);
}
}),
limits: {
//上传文件的大小限制,单位bytes
fileSize: 1024 * 1024 * mb
},
fileFilter: (req, file, cb) => {
//文件类型
if (suffix.indexOf(file.mimetype) !== -1) {
cb(null, true);
} else {
cb(null, false);
}
}
}).any();
}
router.post('/upload/img', uploadConfig('images/', 10, ['image/jpeg', 'image/jpg']), async function (req, res, next) {
let uploadFile = req.files;
if (uploadFile.length == 0) {
res.json({ code: 233, info: '文件上传错误' });
} else {
res.json({ code: 200, info: `文件上传成功数量:${uploadFile.length}`, mes: uploadFile });
}
});
module.exports = router;
文件上传的简单使用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- flask-uploads 是封装的 flask里的文件上传功能,此处以实现用户头像上传为例 官方文档介绍:点我 ...
- OkHttp3讲解 01,OkHttp3简介 1.支持http和https协议,api相同,易用;2.http使用...
- 了解 1.依赖(因为他是给予okhttp之上的,所以必须带着okhttp的依赖)一般使用的是Retrofit 与r...
- 使用ajax进行表单提交的时候,有多种方式可以选择,其中react提供的思路,将数据单独存放到state中进行操作...
- 原生搭建一个服务,最核心的就是http模块,这个模块也是NodeJS的核心模块,如今都提倡模块化,在这我进行模块化...