Multer 在上传文件时抛出错误
Multer throws error while uploading files
当我不在 multer 中连接 new Date().toISOString 和 file.originalname 以上传文件时,它可以完美运行。文件被上传。但是如果我连接创建唯一的文件名然后它说
Error: ENOENT: no such file or directory, open 'rootDirectory\uploads20-10-22T13:28:21.741Zman2.jpg'
即使我尝试存储从 new Date().toISOString 和 file.originalname 返回的值并将它们连接起来并传递给回调函数,它也会抛出同样的错误。
如何解决这个问题?
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "./uploads");
},
filename: function f(req, file, cb) {
// const originalname = file.originalname;
// const date = new Date().toISOString();
cb(null, new Date().toISOString() + file.originalname);
},
});
这样试试
cb(null,Date.now() + '-' + file.originalname.replace(/\s+/g, ""))
这是一个完整的方法,如果有帮助的话
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads')
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname.replace(/\s+/g, ""))
},
})
当我不在 multer 中连接 new Date().toISOString 和 file.originalname 以上传文件时,它可以完美运行。文件被上传。但是如果我连接创建唯一的文件名然后它说
Error: ENOENT: no such file or directory, open 'rootDirectory\uploads20-10-22T13:28:21.741Zman2.jpg'
即使我尝试存储从 new Date().toISOString 和 file.originalname 返回的值并将它们连接起来并传递给回调函数,它也会抛出同样的错误。
如何解决这个问题?
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "./uploads");
},
filename: function f(req, file, cb) {
// const originalname = file.originalname;
// const date = new Date().toISOString();
cb(null, new Date().toISOString() + file.originalname);
},
});
这样试试
cb(null,Date.now() + '-' + file.originalname.replace(/\s+/g, ""))
这是一个完整的方法,如果有帮助的话
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './uploads')
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname.replace(/\s+/g, ""))
},
})