分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

nodejs 实现图片上传

发布时间:2023-09-06 02:10责任编辑:顾先生关键词:jsnodejs

1、首先在目录下的运行cmd,执行以下命令

npm install multer;

2、在router下新建upload.js

let express = require(‘express‘);
let router = express.Router();

let fs = require(‘fs‘);
let multer ?= require(‘multer‘);

// 使用硬盘存储模式设置存放接收到的文件的路径以及文件名
let storage1 = multer.diskStorage({
???  destination: function (req, file, cb) {
???????    // 接收到文件后输出的保存路径(若不存在则需要创建)
???????    cb(null, ‘public/images/‘); //保存普通图片
???  },
???  filename: function (req, file, cb) {
???????    // 将保存文件名设置为 时间戳 + 文件原始名,比如 151342376785-123.jpg
???????    cb(null, file.originalname); ?
???  }
});
let storage2 = multer.diskStorage({
???  destination: function (req, file, cb) {
???????    // 接收到文件后输出的保存路径(若不存在则需要创建)
???????    cb(null, ‘public/images/avatar/‘); //保存头像
???  },
???  filename: function (req, file, cb) {
???????    // 将保存文件名设置为 时间戳 + 文件原始名,比如 151342376785-123.jpg
???????    cb(null, file.originalname); ?
???  }
});
// 创建文件夹
let createFolder = function(folder){
???  try{
???????    // 测试 path 指定的文件或目录的用户权限,我们用来检测文件是否存在
???????    // 如果文件路径不存在将会抛出错误"no such file or directory"
???????    fs.accessSync(folder);
???  }catch(e){
???????    // 文件夹不存在,以同步的方式创建文件目录。
???????    fs.mkdirSync(folder);
???  } ?
};

//普通图片

let uploadFolder1 = ‘./public/images/‘;
createFolder(uploadFolder1);

//头像
let uploadFolder2 = ‘./public/images/avatar‘;
createFolder(uploadFolder2);


// 创建 multer 对象
let upload1 = multer({ storage: storage1 });
let upload2 = multer({ storage: storage2 });

/* POST upload listing. */
router.post(‘/addLanguage‘, upload1.single(‘file‘), function(req, res, next) {
???  let file = req.file;
???  // 接收文件成功后返回数据给前端
???  res.json({res_code: ‘0‘});
});
router.post(‘/addavatar‘, upload2.single(‘file‘), function(req, res, next) {
???  let file = req.file;
???  // 接收文件成功后返回数据给前端
???  res.json({res_code: ‘0‘});
});
// 导出模块(在 app.js 中引入)
module.exports = router;

3、最后在app.js中引入使用

var upload = require(‘./routes/upload‘);

app.use(‘/upload‘, upload);

nodejs 实现图片上传

原文地址:https://www.cnblogs.com/qisimx/p/9486124.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved