angularjs - 不带扩展名的 multer 文件

标签 angularjs node.js express multer

目前我有这个:

  var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();

router.post('/registo',upload.single('file'), function (req, res) {

但是传递的文件的文件扩展名未保存,并且 multer 给它一个随机名称,所以我看到类似这样的内容来纠正该问题:

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, './uploads/')
  },
  filename: function (req, file, cb) {
    crypto.pseudoRandomBytes(16, function (err, raw) {
      cb(null, raw.toString('hex') + Date.now() + '.' + mime.extension(file.mimetype));
    });
  }
});

var upload = multer({ storage: storage });



router.post('/registo',upload, function (req, res) {

但是我收到一个错误:连接被拒绝,我不知道为什么会发生这种情况

最佳答案

如何使用 multer 上传文件。 Node 代码

var multer = require('multer');
var fs = require('fs');
var Grid = require('gridfs-stream');
var router = express.Router();
var upload = multer({dest: 'uploads/'});


mongoose.createConnection('mongodb://127.0.0.1/obi');
router.post('/upload', upload.any(), function (req, res) {
    var conn = mongoose.connection;
    var Grid = require('gridfs-stream');
    Grid.mongo = mongoose.mongo;
    var path = req.files[0].path
    var path_name = req.files[0].originalname
    var gfs = Grid(conn.db);
    var writestream = gfs.createWriteStream({
        filename: path_name
    });
    fs.createReadStream(path).pipe(writestream);
    writestream.on('close', function (file) {
        res.json(file.filename + 'Written To DB');
        fs.unlink(req.files[0].path, function () {
            res.json({id: file._id, message: "success"});
        });
    });
})

希望这对您有用。

关于angularjs - 不带扩展名的 multer 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143075/

相关文章:

javascript - 如何自定义 Angular 谷歌图表图例信息

python - 从 Django Rest Framework 中的 token 获取经过身份验证的用户

javascript - 单元测试,如何检查 $uibModal 的模板是否存在

node.js - app.use(multer({dest :'./uploads/' }).single ('photo' )) 返回 "Undefined is not a function"

node.js - 使用 socket.io 和空消息队列向特定客户端发送消息

node.js - 离线时 Mongoose 与本地主机的连接失败

express - 使用 Express 和 Docker 公开 3000 以外的端口

javascript - 通过 id 从变量获取 html

node.js - 所有路由的 HTTPS 重定向 node.js/express - 安全问题

express - ExpressJS 中的 CSRF 保护