mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: #10208, don't use leading slash in directory names
change to use decodeURIComponent in utils.params
This commit is contained in:
@@ -645,10 +645,10 @@
|
||||
|
||||
params.forEach(function (param) {
|
||||
const val = param.split('=');
|
||||
let key = decodeURI(val[0]);
|
||||
let key = decodeURIComponent(val[0]);
|
||||
const value = (
|
||||
options.disableToType ||
|
||||
options.skipToType[key] ? decodeURI(val[1]) : utils.toType(decodeURI(val[1]))
|
||||
options.skipToType[key] ? decodeURIComponent(val[1]) : utils.toType(decodeURIComponent(val[1]))
|
||||
);
|
||||
|
||||
if (key) {
|
||||
|
||||
@@ -87,15 +87,16 @@ async function filesToData(currentDir, files) {
|
||||
}
|
||||
|
||||
async function getFileData(currentDir, file) {
|
||||
const stat = await fs.promises.stat(path.join(currentDir, file));
|
||||
const pathToFile = path.join(currentDir, file);
|
||||
const stat = await fs.promises.stat(pathToFile);
|
||||
let filesInDir = [];
|
||||
if (stat.isDirectory()) {
|
||||
filesInDir = await fs.promises.readdir(path.join(currentDir, file));
|
||||
filesInDir = await fs.promises.readdir(pathToFile);
|
||||
}
|
||||
const url = `${nconf.get('upload_url') + currentDir.replace(nconf.get('upload_path'), '')}/${file}`;
|
||||
return {
|
||||
name: file,
|
||||
path: path.join(currentDir, file).replace(nconf.get('upload_path'), ''),
|
||||
path: pathToFile.replace(path.join(nconf.get('upload_path'), '/'), ''),
|
||||
url: url,
|
||||
fileCount: Math.max(0, filesInDir.length - 1), // ignore .gitignore
|
||||
size: stat.size,
|
||||
|
||||
Reference in New Issue
Block a user