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

View File

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