Node.js如何获取文件扩展名

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (80)

我正在用Express 3在node.js中创建一个文件上传功能。

我想获取图像的文件扩展名。这样我就可以重命名文件,然后将文件扩展名追加到它。

app.post('/upload', function(req, res, next) {
    var is = fs.createReadStream(req.files.upload.path),
        fileExt = >>>> I want to get the extension of the image here <<<<,
        os = fs.createWriteStream('public/images/users/' + req.session.adress + '.' + fileExt);
});

如何在node.js中获得映像的扩展?

提问于
用户回答回答于

我相信你可以通过以下操作获得文件名的扩展名。

var path = require('path')

path.extname('index.html')
// returns
'.html'
用户回答回答于

我使用这个函数来获得文件扩展名,因为我没有找到一种更简单的方法(但我认为有):

function getExtension(filename) {
    var ext = path.extname(filename||'').split('.');
    return ext[ext.length - 1];
}

你必须要求“路径”才能使用它。

另一个不使用PATH模块的方法:

function getExtension(filename) {
    var i = filename.lastIndexOf('.');
    return (i < 0) ? '' : filename.substr(i);
}

扫码关注云+社区