fix: sanitize filename before writing (#1743)

* fix: sanitize filename before writing

Fixes: https://github.com/Mintplex-Labs/anything-llm/issues/1737

* fixup

* fixup
This commit is contained in:
Jason Zhang 2024-06-26 08:15:09 +09:30 committed by GitHub
parent dde8bc238b
commit fa4ab0f65f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 5 deletions

View File

@ -3,7 +3,7 @@ const path = require("path");
const { default: slugify } = require("slugify"); const { default: slugify } = require("slugify");
const { v4 } = require("uuid"); const { v4 } = require("uuid");
const UrlPattern = require("url-pattern"); const UrlPattern = require("url-pattern");
const { writeToServerDocuments } = require("../../files"); const { writeToServerDocuments, sanitizeFileName } = require("../../files");
const { tokenizeString } = require("../../tokenizer"); const { tokenizeString } = require("../../tokenizer");
const { const {
ConfluencePagesLoader, ConfluencePagesLoader,
@ -98,11 +98,11 @@ async function loadConfluence({ pageUrl, username, accessToken }, response) {
console.log( console.log(
`[Confluence Loader]: Saving ${doc.metadata.title} to ${outFolder}` `[Confluence Loader]: Saving ${doc.metadata.title} to ${outFolder}`
); );
writeToServerDocuments(
data, const fileName = sanitizeFileName(
`${slugify(doc.metadata.title)}-${data.id}`, `${slugify(doc.metadata.title)}-${data.id}`
outFolderPath
); );
writeToServerDocuments(data, fileName, outFolderPath);
}); });
return { return {

View File

@ -129,6 +129,11 @@ function normalizePath(filepath = "") {
return result; return result;
} }
function sanitizeFileName(fileName) {
if (!fileName) return fileName;
return fileName.replace(/[<>:"\/\\|?*]/g, "");
}
module.exports = { module.exports = {
trashFile, trashFile,
isTextType, isTextType,
@ -137,4 +142,5 @@ module.exports = {
wipeCollectorStorage, wipeCollectorStorage,
normalizePath, normalizePath,
isWithin, isWithin,
sanitizeFileName,
}; };