nodejsファイルアップロードサンプル(express)


コード
├── form.html
├── node_modules
├── package.json
├── package-lock.json
├── public
│   ├── doc
│   │   └── README.md
│   └── upload
│       └── 362131ec347930fab2c4dd9a708048d8
└── server.js
form.
<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