【问题标题】:Multer not renaming imageMulter不重命名图像
【发布时间】:2015-12-03 11:56:01
【问题描述】:

以下代码在所需位置生成图像,但是图像命名不正确。

routes.js

var upload = multer({ 
  dest: './client/shared/assets/images/logos',
  rename: function (fieldname, filename, req, res) {
    console.log('Rename YO!')
    console.log(fieldname)
    console.log(filename)
    console.log(req)
    return 'test' + '-'+Date.now();
  }
});

app.post('/uploads/logo',upload.single('file'), function(req, res){
console.log('Upload photo yo!')
  console.log(req.body) // form fields
  console.log(req.file) // form files
  res.status(204).end()
});

create.controller.js

$scope.saveLogo = function(file) {
  console.log(file);
  file.upload = Upload.upload({
    url: '/uploads/logo',
    method: 'POST',
    fields: {
      name: $scope.item.name,
      subdomain: $scope.item.subdomain
    }
  });

  file.upload.then(function (_res) {
    console.log(_res)
    file.result = _res.data;
  }, function (_res) {
    console.log(_res)
    if (_res.status > 0)
      $scope.errorMsg = _res.status + ': ' + _res.data;
  });

  file.upload.progress(function (evt) {
    // Math.min is to fix IE which reports 200% sometimes
    file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));
  });
};

我不知道我在这里缺少什么。我正在尝试将 multer 功能限制为特定的发布操作,可以吗?

提前致谢

【问题讨论】:

    标签: angularjs node.js image express multer


    【解决方案1】:

    解决了这个小花絮:

    var storage = multer.diskStorage({
      destination: function (req, file, cb) {
        cb(null, '/tmp/my-uploads')
      },
      filename: function (req, file, cb) {
        cb(null, file.fieldname + '-' + Date.now())
      }
    })
    
    var upload = multer({ storage: storage })
    

    自上次发布以来,方法已更改为上述方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 2023-01-26
      相关资源
      最近更新 更多