nodejs--file文件上传

文件上传

multer
cnpm i multer -D

//1、引入、配置
const multer = require('multer');
let multerObj = multer({dest:'./xxx'});

//2、加给中间件
server.use(multerObj);

//3、用file
request.files
server_multer.js

const express = require("express");
//const myBodyParser = require('./libs/my-body-parser');
//const logger = require('./libs/my-logger');
const multer = require('multer');  //文件
const fs = require('fs');
const path = require('path');
const bodyParser = require('body-parser'); //文本

let server = express();
server.listen(3000);

let multerObj = multer({dest:'./upload'});
server.use(multerObj.any());
server.use(bodyParser.urlencoded({extended:false}));

//server.use(bodyParser.urlencoded({extended:false}))
//server.use(logger);
//server.use(myBodyParser.urlencoded);

server.post('/upload',(req,res,next)=>{
    console.log(req.files);

    let i=0;
    _next();
    function _next(){
        let newName = req.files[i].path + path.extname(req.files[i].originalname);

        fs.rename(req.files[i].path,newName,err=>{
            if(err){
                res.sendStatus(500,'rename error');
                res.end();
            }else{
                i++;
                if(i>=req.files.length){
                    res.send('upload ok!');
                    res.end();
                }else{
                    _next();
                }

            }
        });
    }
})

form_upload.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>form1</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">

</head>
<body>
    <form action="http://localhost:3000/upload" method="post" enctype="multipart/form-data">
    <input type='file' name='f1'></input>
    <input type="submit" value="上传"/>
    </form>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 7,194评论 1 37
  • Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮...
    保川阅读 6,091评论 0 24
  • ## 前端开发的工具 ### 编辑器: 1. 轻量级的,依靠插件:sublime;atom(github);vs ...
    浪流儿阅读 8,532评论 0 2
  • 大家好,我是IT修真院萌新分院的王寒,一枚正直、纯洁、善良的前端程序员。 今天呢 ,我给大家要说的就是常见的Dom...
    傲慢的小寒哥阅读 3,060评论 0 0
  • 早不到六点就再也无法躺在床上了。起床后,洗漱,更衣。让我惊喜的是六点半时,听到了鸟儿早春的第一声清脆报晨。我知道春...
    将军ling阅读 1,183评论 0 0