您的位置:首页 > 数据库

Nodejs学习笔记(5+)文件上传基础 demo (不包括数据库操作)

2018-10-11 22:42 585 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WHU_Kevin_Lin/article/details/83020104

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>文件</title>
</head>
<body>
<form action="/journal/receive_file" method="POST" enctype="multipart/form-data">
<input type="file" name="files" value="选择文件"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

server.js

const express = require('express');
const fs = require('fs');
const app = express();

// 文件缓存目录
const multer = require('multer');
const upload = multer({
dest: 'D:/rswork/upload/tmp/'
});

// 连接池集群,管理多个连接
const poolCluster = mysql.createPoolCluster();
poolCluster.add('rsjournal', models.mysql_rsjournal); // 连接数据库,此处不完整

// 接收文件
app.post('/receive_file',upload.array('files'), (req, res) => {
if (!req.files[0]) {
res.send('文件传输错误')
}
var des_file = "D:/rswork/upload/" + req.files[0].fieldname + "/" + req.files[0].originalname

fs.readFile(req.files[0].path, function (error, data) {
if (error) {
return console.error(error)
}
// console.log('writeFile前面');
fs.writeFile(des_file, data, function (err) {
if (err) {
// 接收失败
res.send('文件传输错误')
return console.error(err)
} else {
// 接收成功
res.send('成功!')
// 删除缓存文件
fs.unlink(req.files[0].path, function (err) {
if (err) {
return console.error(err)
}
})
}
})
})
})

const server = app.listen(3333, '0.0.0.0', () => {
console.log('实例访问地址: %s:%d',
server.address().address,
server.address().port);
});
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐