nodejs文件上传样例(express)

代码

├── form.html
├── node_modules
├── package.json
├── package-lock.json
├── public
│   ├── doc
│   │   └── README.md
│   └── upload
│       └── 362131ec347930fab2c4dd9a708048d8
└── server.js

form.html

<html>
    <body>
        <form action="/upload" method="post" enctype="multipart/form-data">
            <h2>单图上传</h2>
            <input type="file" name="logo">
            <input type="submit" value="提交">
        </form>
    </body>
</html>

server.js

var fs = require('fs');
var express = require('express');
var multer  = require('multer');
var cookieParser = require('cookie-parser');
var util = require('util');

var app = express();

// 下载的文件保存在./public/upload/中
var upload = multer({ dest: 'public/upload/' });

// 把传入的cookie填充至req.cookies中
app.use(cookieParser());

// http://127.0.0.1:8888/doc/README.md 可访问public/doc下的README.md文件
app.use(express.static('public'));

// 单图上传
app.post('/upload', upload.single('logo'), function(req, res, next){
    var file = req.file;
    console.log('文件类型:%s', file.mimetype);
    console.log('原始文件名:%s', file.originalname);
    console.log('文件大小:%s', file.size);
    console.log('文件保存路径:%s', file.path);
    res.send({ret_code: '0'});
});

app.get('/', function(req, res, next){
    // 打印传入cookies
    console.log('Cookies: ' + util.inspect(req.cookies));
    res.sendFile(__dirname + '/' + 'form.html');
});

app.listen(8888);

流程

安装依赖包

npm install multer --save
npm install cookie-parser --save

上传文件后,服务器打印

Cookies: [Object: null prototype] {}
文件类型:image/png
原始文件名:2020-02-05 16-37-12屏幕截图.png
文件大小:30143
文件保存路径:public/upload/362131ec347930fab2c4dd9a708048d8

查看README.md

http://127.0.0.1:8888/doc/README.md

下载上传的问题文件

http://127.0.0.1:8888/upload/362131ec347930fab2c4dd9a708048d8

很好的资料

  • https://www.runoob.com/nodejs/nodejs-express-framework.html
  • https://www.cnblogs.com/chyingp/p/express-multer-file-upload.html
  • http://www.expressjs.com.cn/starter/static-files.html
发布了290 篇原创文章 · 获赞 114 · 访问量 61万+

猜你喜欢

转载自blog.csdn.net/jason_cuijiahui/article/details/104201474