【问题标题】:Node-multer: fails to uploade a file (cannot read property error)Node-multer:上传文件失败(无法读取属性错误)
【发布时间】:2016-05-21 14:28:46
【问题描述】:

我尝试使用 express.js 和 multer 将文件上传到服务器。我无法让它工作,即使使用非常简单的代码,它也会一直显示相同的错误:

“TypeError: 无法读取未定义的属性‘名称’”

我怀疑我犯了一些非常愚蠢的错误,但我无法找出问题所在。非常感谢您的帮助!

index.html:

<!doctype html>
<html>
    <head>
        <title>File upload test</title>
    </head>
    <body>
        <form id="uploadform" method="post" action="/upload" enctype="multipart/form-data">
            <p><input type="file" name="img"></p>
            <p><input id="submit_upload" type="submit" value="Submit"></p>
        </form>
    </body>
</html>

在服务器端(server.js)

var express = require('express');
var app = express();
var multer = require('multer');
var upload = multer({ dest: 'uploads/' })


app.get('/', function(req, res){
    res.sendfile(__dirname + '/client/index.html');
});

app.post('/upload', upload.single('img'), function (req, res) {
    //var form_description = req.body.description;
    console.log(req.files.name);
    //  insert operations into database get placed here
    res.redirect('/');
});

package.json:

{
  "name": "upload-example",
  "version": "0.0.0",
  "description": "A file upload example",
  "main": "server.js",
  "repository": "",
  "author": "",
  "dependencies": {
    "async": "~0.2.8",
    "express": "^3.2.6",
    "multer": "^1.1.0",
    "socket.io": "~0.9.14"
  }
}

【问题讨论】:

    标签: node.js forms post express multer


    【解决方案1】:

    1) 你configuremulter 接受单个文件,单个文件将存储在req.file

    2) 原始文件名存储在req.file.originalname

    3) 临时文件名存储在req.file.filename

    【讨论】:

    • 是的,是文件,不是文件,愚蠢的错误。再次感谢您的回答!
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2015-06-03
    • 2014-10-17
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多