如何上传图片并使这些图片在快递中具有永久链接

时间:2016-07-10 10:19:52

标签: javascript node.js express

现在我已经完成了上传部分。它可以上传图片。有一个问题,如果我上传文件而不是图片,网站会显示一个[]。基本上我只想拒绝这个上传。我不确定发生了什么。我应该如何获得图片的永久链接? 这是我的代码:

var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer({
    dest: 'public/uploads/', fileFilter: function (req, file, cb) {
        if (file.mimetype !== 'image/png'
            && file.mimetype !== 'image/jpg'
            && file.mimetype !== 'image/jpeg'
            && file.mimetype !== 'image/gif') {
            console.log('wrong type')
            return cb(null, false, new Error('goes wrong on the mimetype'));
        }
        return cb(null, true);
    }
 });

/* GET home page. */
router.get('/', function (req, res) {
    res.render('index', { title: 'Express' });
});

router.post('/', upload.any(), function (req, res) {
    res.send(req.files);
});

module.exports = router;

1 个答案:

答案 0 :(得分:0)

如果您想限制可上传的图片数量,则需要使用.single(fieldname)代替mutler.any()

在文档中,您可以看到区别:

mutler.any()

  

接受通过网络传输的所有文件。一系列文件将存储在req.files

mutler.single(fieldname)

  

接受名为fieldname的单个文件。单个文件将存储在req.file