博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
multer上传文件并在前台显示
阅读量:7242 次
发布时间:2019-06-29

本文共 1243 字,大约阅读时间需要 4 分钟。

hot3.png

在此用的是ejs的模板,在index.ejs中实现页面的显示

index.ejs

<%- include header  %>

标题:<%= post.title %>

图片:<%= post.src %>

<%= post.src %> alt="图呢??快给我!!">

<%- include footer  %>

routes/index.js文件

var multer = require('multer');....//这里只贴跟multer有关的代码,关于multer的用法,可以参考本博客中的另一篇var storage = multer.diskStorage({	destination:function(req,file,cb){//设置存储目标路径		cb(null,path.join(path.resolve('./'),"/public/images"))	},//cb指的是callback	filename:function(req,file,cb){		cb(null,file.fieldname+"-"+ Date.now())	}//为啥加了这个filename之后会出现两个文件呢?});var upload = multer({storage:storage});....//post请求可以这样写app.post('/upload',upload.single("file"),function(req,res,next) {		var filename = req.file.filename		console.log(filename+"文件名");		res.redirect('/upload');/*如果在此处不做操作的话,nodejs会重复执行post到的upload请求							导致在目标文件夹下生成多个文件(一般是两个,相当于/upload页刷新了一遍)*/	});

如果要实现同步存储到数据库中,此处用mongoose实现的,mongoose的model,entity什么的就不仔细说了

app.post("/post",upload.single("file"),function(req,res){		var filename = (req.file.filename);		var issue = {			username:req.session.user,			title:req.body.title,			post:req.body.post,			time:new Date(),			src:path.join("/images",filename)			    //注意,此处的路径一定要弄清楚,它和上面storage中的路径不是一样的		};

转载于:https://my.oschina.net/boogoogle/blog/547398

你可能感兴趣的文章
bzoj 1432: [ZJOI2009]Function
查看>>
HashMap泛型使用
查看>>
MTK Sensor越界导致的系统重启问题分析报告
查看>>
Swift-JSON Encode && Decode
查看>>
(效果五)js获取客户端ip地址及浏览器信息
查看>>
XAML中的空格、换行、Tab
查看>>
Python解析XML
查看>>
第43条:返回零长度的数组或者集合,而不是null
查看>>
初识numpy的多维数组对象ndarray
查看>>
java代码随机数100个,10个一输出显示======
查看>>
初始化代码块
查看>>
[NOI2008]志愿者招募
查看>>
Linux——网络端口的状态netstat、ifconfig
查看>>
canvas元素简易教程(5)(大部分转自火狐,自己只写了简单的代码分析)
查看>>
ArcCore重构-生成%_offset.h文件
查看>>
关于kafka的新的group无法订阅到topic中历史消息的问题
查看>>
zp_bj_03
查看>>
Idea 实时编译 和 热部署
查看>>
如何javascript获取css中的样式
查看>>
mysql INFORMATION_SCHEMA (转)
查看>>