formidable

formidable

​ 这个中间件也是文件上传 只不过他可以和其他的表单数据同时上传 所以一般时候使用的比较多

​ 下载命令 : npm install formidable

const express = require('express');
let formidable = require('formidable');
const path = require('path');
const fs = require('fs');
let app = express();

// 上传文件
app.post('/index',(request,response)=>{
    // 实例化一个上传实例
    let form = new formidable.IncomingForm();
    // 指定上传的路径
    form.uploadDir = path.resolve(__dirname,'./upload/');
    // 开始上传  使用form对象中的parse方法进行上传
    // 内置两个个参数  第一个参数是请求对象request  第二个参数是回调函数
    // 回调内置三个参数  第一个参数是错误  第二个参数是上传的其他字段  第三个参数是上传的文件信息
    form.parse(request,(error,fields,files)=>{
        if (error){
            console.log('爱慕骚瑞');
        }else{
            // 获取我们上传的对象
            let file = files.photo;
            // 取出我们上传的对象的临时路径和临时文件名
            let oldname = file.path;
            // 创建新的文件名  避免命名冲突  使用时间戳命名
            let fileName = Date.now() + path.extname(file.name);
            // 指定新的上传路径  然后改名
            let newName = path.resolve(__dirname,'./upload/',fileName);
            // 更名操作
            fs.rename(oldname,newName,err=>{
                err ? console.log('111') : response.send('上传成功')
            })
        }
    })
});

app.listen(3000,'127.0.0.1',()=>{
    console.log('服务器正在运行......');
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值