我通过一个表单发送一个文件,在使用表单与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