jade高级语法、ejs模板库、express框架整合、nodejs后台处理图片上传实例(form表单提交)

本文介绍了如何结合Jade高级语法、EJS模板库和Express框架,实现Node.js后台处理图片上传的功能。通过表单提交,详细阐述了图片上传的步骤和关键代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,jade实例
doctype
html
	head
		meta(charset="utf-8")
		title jade测试
		style.
			div{
				width:100px;
				height:100px;
				background:#ccc;
				margin:20px;
				float:left;
				color:#fff;
				text-align:center;
				line-height:100px;
			}
			div.last{
				clear:left;
			}
	body
		-var a=0
		while a<12
			if a%4==0 && a!=0
				div.last=a++
			else
				div=a++

const jade =require('jade');
const fs = require('fs');

var str = jade.renderFile('www/2.jade',{pretty:true});

fs.writeFile('./www/main.html', str, function(err){
    if(err){
    	console.log('编译错误');
    }else{
    	console.log('成功');
    }
});

二,ejs <%=name%>

	<% for(var i=0;i<json.arr.length;i++){ %>
	<div>用户名:<%=json.arr[0].user%><span>密码:<%=json.arr[i].pass%></span></div>
	<% } %>
	<div><%=name%></div>
const ejs = require('ejs');
ejs.renderFile('www/1.ejs',{json:{arr:[
	{user:'aa',pass:'111'},
	{user:'bb',pass:'222'},
	{user:'cc',pass:'333'},
	]},name:'wangni'},
	function(err,data){
	if(err){
		console.log('编译错误');
	}else{
		console.log(data)
	}
})

三,nodejs后台处理图片上传

//上传图片
const express = require('express');
const fs = require('fs');
const bodyParser = require('body-parser');
const multer = require('multer');
const pathLip = require('path');

var server = express();
//解析post数据
// server.use(bodyParser.urlencoded({
// 	extended:false
// }));

// server.use('/',function(req,res){
// 	console.log(req.body);
// });

//解析post文件
var obj_mul = multer({dest:'./www/upload/'});//放在什么地方
server.use(obj_mul.any());
server.use('/',function(req,res){
	// console.log(pathLip.parse(req.files[0].originalname).ext);
	// console.log(req.files[0].path);
	var newFile = req.files[0].path + pathLip.parse(req.files[0].originalname).ext
	fs.rename(req.files[0].path, newFile, function(err){
		if(err){
			res.send('上传失败');
		}else{
			res.send('上传成功');
		}
	});
});


server.listen(8090);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值