博客详情

express之文件(图片)上传 (原创)

作者: 朝如青丝暮成雪
发布时间:2018-02-24 23:23:09  文章分类:nodejs   阅读(861)  评论(0)

本篇,我们介绍下express中 实现文件上传。

安装multiparty模块   npm install  multiparty  --save

引入 multiparty模块,  var  multiparty= require('multiparty');

。。。

05_fileupload.js



//05_fileupload.js
//介绍 express中 获取http post 图片  multipart数据和普通表单域数据

var fs=require('fs');
var express=require('express');
var bodyParser = require('body-parser');
//var session = require("express-session");

var multiparty = require('multiparty');


var app = express();


//设置 express模板引擎为 ejs
app.set("view engine","ejs");
//设置模板的位置 (  缺省位置也是 __dirname + '/views')
app.set('views', __dirname + '/views');


//配置body-parser中间件
// // parse application/x-www-form-urlencoded
// app.use(bodyParser.urlencoded({ extended: false }));
// // parse application/json
// app.use(bodyParser.json());

app.get("/",function (req,res) {
    res.send('ok');
});

app.get("/uploadImg",function (req,res) {
   res.render("uploadImg.ejs");

});

app.post("/uploadImg",function (req,res) {


    var form = new multiparty.Form();

    form.uploadDir='./upload'; //上传图片保存的地址     目录必须存在

    form.parse(req, function(err, fields, files) {
        //fields 表示普通表单域参数, files表示文件参数
         console.log(fields); //{ fileType: [ 'idCard' ] }
         console.log(files);

         console.log(fields.fileType[0]);

        //  { file:
        //      [ { fieldName: 'file',
        //          originalFilename: '3.png',
        //          path: 'upload\\nJbGF0O5nEpEM2oDSDtiAnPp.png',
        //          headers: [Object],
        //          size: 17997 } ]
        //  }

         var fileType=fields.fileType[0];//获取普通表单参数
        // //console.log(files.file[0].path);
         var orgFilename=files.file[0].originalFilename;
       //  files.file[0].path= form.uploadDir+"/"+orgFilename;//原始文件名
    //文件上传后,给文件重命名为原上传文件名。 
        fs.rename(files.file[0].path,form.uploadDir+"/"+orgFilename,function (err) {
            if (err) throw err;
            console.log('renamed complete');
        });
        
         console.log("fileType: "+fileType);

         // ./upload/3.png    存入数据库中为: /upload/3.png
         console.log("filePath: "+form.uploadDir+"/"+orgFilename);
        res.send('ok');
    });


});


app.listen(3000);




关键字:  express  nodejs
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号