如何在Node.js中獲取文件擴展名

我需要找到文件的擴展名。 我有文件的名稱,我想獲取它的擴展名(.jpg,.png…)。 為了做到這一點,您可以使用path內置模塊及其extname()方法: const path = require('path') path.extname('picture.png') //.png path.extname('picture.of.a.dog.png') //.png path.extname('picture.of.a.dog.jpg') //.jpg path.extname('picture.of.a.dog.jpeg') //.jpeg

如何從 MIME 類型在 Node.js 中獲取文件擴展名

我通過表單傳送了一個文件,在使用 multipart/form-data 的表單之後,我在服務器端的 req.files 中得到了文件對象。 這給我提供了一些信息,例如路徑、名稱、大小、類型等: { logo: File { size: 121920, path: '/var/folders/tn/h8lfq1sj7c33c0p30qgkd3mw0000gn/T/upload_b9e85b7cf989482a1760d82b77fd555a', name: 'Screen Shot 2021-06-07 at 21.40.29.png', type: 'image/png', hash: null, lastModifiedDate: 2021-06-07T22:20:50.150Z, //... } } 請注意,臨時文件路徑沒有擴展名。 如果在服務器端使用文件名沒有問題。但是我想要更改它並使用自己的命名慣例,所以我只需要文件的擴展名。 要獲取它,你可以做兩件事:解析文件名, const path = require('path') path.extname(req.files.logo.name) //.png 這不需要任何第三方庫。 或者你可以使用 mime-types 套件並查看 MIME 類型: const mime = require('mime-types') mime.extension('text/plain') //txt mime.extension('image/png') //png