express 文件上传包路径问题
express fileupload package problem with the path
我想将文件上传到 'public' 文件夹时遇到问题。当我不使用 './'
时会出现此问题。如果我使用 '../'
或 '/'
文件,请不要上传到 public 文件夹。
**controllers.js**
files.forEach(file => {
file.mv('../public/' + file.name, err => {
if (err) {
log({ err });
return res.redirect('/')
}
log('file uploaded');
})
})
错误:Error: ENOENT: no such file or directory, open 'D:\Users\Antonio\Desktop\public\image4.jpg'
还有这个错误:Express-file-upload: Request is not eligible for file upload!
当我在里面时会发生这种情况 controllers/controllers.js
。如果我在 app.js
中编写这段代码,我不会遇到任何问题。
file.mv()
方法相对于 cwd
当前工作目录路径起作用。
要让它工作,你需要这样写:
const path = require('path')
const fileName = path.join(__dirname, '../public/', file.name)
file.mv(fileName)
这样做,路径将是相对于 controller.js
文件的(而不是相对于 cwd
)
我想将文件上传到 'public' 文件夹时遇到问题。当我不使用 './'
时会出现此问题。如果我使用 '../'
或 '/'
文件,请不要上传到 public 文件夹。
**controllers.js**
files.forEach(file => {
file.mv('../public/' + file.name, err => {
if (err) {
log({ err });
return res.redirect('/')
}
log('file uploaded');
})
})
错误:Error: ENOENT: no such file or directory, open 'D:\Users\Antonio\Desktop\public\image4.jpg'
还有这个错误:Express-file-upload: Request is not eligible for file upload!
当我在里面时会发生这种情况 controllers/controllers.js
。如果我在 app.js
中编写这段代码,我不会遇到任何问题。
file.mv()
方法相对于 cwd
当前工作目录路径起作用。
要让它工作,你需要这样写:
const path = require('path')
const fileName = path.join(__dirname, '../public/', file.name)
file.mv(fileName)
这样做,路径将是相对于 controller.js
文件的(而不是相对于 cwd
)