在我的文件夹中上传的图像没有扩展节点 js 和 multer
Image uploaded in my folder without extension with node js and multer
我在使用 node 和 multer 时遇到了一个奇怪的问题。
我上传图片的脚本正在运行,但上传的图片没有扩展名(jpeg、png 等)。
就像那样:
4a8a1400d04b5ccdfdb829aa5ee62763
如果我为图片添加扩展名 (jpeg),它就会显示出来。
我的代码是这样的:
const multer = require('multer');
var upload = multer({ dest: __dirname +'/uploads/' });
app.post('/test.html', upload.single('avatar'),function (req,res,next){
console.log("minetype"+req.file.mimetype);
res.render('test', {})
});
还有我的表格:
<form action="/test.html" method="post" enctype="multipart/form-data" name="monForm">
<input type="file" name="avatar" />
<input type="submit" value="Upload">
</form>
你可以配置文件名,例如:
这将保留原始扩展名并仍然使用 uniqid 包生成一个随机名称。 (如有需要,请随意替换为其他内容)
const uniqid = require('uniqid');
const path = require('path');
const multer = require('multer');
let upload = multer({
storage: multer.diskStorage({
destination: function (req, file, cb) {
cb(null, `${__dirname}/uploads/`);
},
filename: function (req, file, cb) {
cb(null, uniqid() + path.extname(file.originalname));
},
}),
});
我在使用 node 和 multer 时遇到了一个奇怪的问题。
我上传图片的脚本正在运行,但上传的图片没有扩展名(jpeg、png 等)。 就像那样: 4a8a1400d04b5ccdfdb829aa5ee62763
如果我为图片添加扩展名 (jpeg),它就会显示出来。
我的代码是这样的:
const multer = require('multer');
var upload = multer({ dest: __dirname +'/uploads/' });
app.post('/test.html', upload.single('avatar'),function (req,res,next){
console.log("minetype"+req.file.mimetype);
res.render('test', {})
});
还有我的表格:
<form action="/test.html" method="post" enctype="multipart/form-data" name="monForm">
<input type="file" name="avatar" />
<input type="submit" value="Upload">
</form>
你可以配置文件名,例如: 这将保留原始扩展名并仍然使用 uniqid 包生成一个随机名称。 (如有需要,请随意替换为其他内容)
const uniqid = require('uniqid');
const path = require('path');
const multer = require('multer');
let upload = multer({
storage: multer.diskStorage({
destination: function (req, file, cb) {
cb(null, `${__dirname}/uploads/`);
},
filename: function (req, file, cb) {
cb(null, uniqid() + path.extname(file.originalname));
},
}),
});