Expressjs上传文件的访问名称

时间:2016-03-16 07:29:22

标签: node.js express

我想显示所有文件的名称。

这是我的代码:

var express = require('express');
var app = express();
var fs = require("fs");

var bodyParser = require('body-parser');
var multer  = require('multer');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: '/nodejs/diwanjidocs/tmp/'}).array('files'));


app.post('/file_upload', function (req, res) {
    console.log(req.files);
    for(var i=0;i<req.files.length;i++){
        console.log(req.files.name);
    }
})


var server = app.listen(8081,'localhost',function () {

    var host = server.address().address
    var port = server.address().port

    console.log("Example app listening at http://%s:%s", host, port)

})

对于单个文件上传 req.file.originalname 返回文件名但多个文件如何获取文件名?

2 个答案:

答案 0 :(得分:1)

req.files.forEach(function (file) {
  console.log(file.originalname)
});

答案 1 :(得分:0)

这取决于您的表格,但需要采用以下形式:

<form action="/uploadFiles" method="post" enctype="multipart/form-data">
    <input type="file" multiple="multiple" accept="image/*" name="uploadedImages"/><br/>
    <input type="submit" value="Upload" />
</form>

然后要处理表单,您将包含:

 app.use(express.bodyParser());

然后你可以操作文件数组:

req.files.uploadedImages.forEach(function(photo, index, array) {
      console.log(photo.name);
});