我通過表單傳送了一個文件,在使用 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