1.2 Express 上传文件接口,node上传图片api接口

根据上篇来写上传文件接口

const express = require('express')
const server = express();
 
server.get('/',(req,res)=>{
    res.send('成功');
})
 
server.listen(3006,err=>{
    err ? console.log(err): console.log('server http:127.0.0.1:3006');
})

npm 引入 fs multer bodyParser
 

const express = require('express');
const server = express();
const fs = require('fs');
const multer = require('multer');
const bodyParser = require('body-parser');
//配置静态资源文件
server.use(express.static(__dirname +"/public"));
server.use(bodyParser.urlencoded({ extended: false }));
server.use(multer({ dest: '/tmp/'}).array('file'));

server.get('/',(req,res)=>{
    res.send('成功');
})

server.listen(3006,err=>{
    err ? console.log(err): console.log('server http:127.0.0.1:3006');
})

当前目录新建index.html 文件来上传文件

<body>
    <form action="/fileUpload" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="">
        <br />
        <input type="submit" value="上传文件" />
    </form>
</body>
server.get('/index.html', function (req, res) {
    console.log(__dirname);
    res.sendFile( __dirname + "/" + "index.html" );
 })

打开文件http://127.0.0.1:3006/index.html

 

 

server.post('/fileUpload',(req,res)=>{
    console.log(req.files[0]);
    var fileUrl = __dirname + "/public/" + req.files[0].originalname; //文件名
    console.log(fileUrl);
    fs.readFile(req.files[0].path,(err,res)=>{
        fs.writeFile(fileUrl, res,(err=> { //文件写入
            if( err ){
                console.log( err );
            }else{
                  // 文件上传成功,respones给客户端
                response = {
                    message:'File uploaded successfully', 
                    filename:req.files[0].originalname
                };
            }
            console.log('/public/'+response.filename);
        }))
        
    })
})

 成功,然后就没有然后了。。。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值