@mazix/n8n-nodes-converter-documents
Version:
n8n node to convert various document formats (DOCX, DOC, XML, YML, XLSX, CSV, PDF, TXT, PPT, PPTX, HTML, JSON, ODT, ODP, ODS) to JSON or text format
24 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sanitizeFileName = sanitizeFileName;
const errors_1 = require("../errors");
/**
* Безопасная валидация и очистка имени файла
*/
function sanitizeFileName(fileName) {
if (!fileName || typeof fileName !== 'string') {
return 'unknown_file';
}
// Проверка на path traversal
if (fileName.includes('..') || fileName.includes('/') || fileName.includes('\\')) {
throw new errors_1.FileTypeError('Invalid file name: contains path traversal characters');
}
// Удаляем опасные символы
const dangerousChars = /[<>:"|?*]/g;
// eslint-disable-next-line no-control-regex
const controlChars = /[\x00-\x1f\x7f-\x9f]/g;
const sanitized = fileName.replace(dangerousChars, '_').replace(controlChars, '_');
// Ограничиваем длину
return sanitized.length > 255 ? sanitized.substring(0, 255) : sanitized;
}
//# sourceMappingURL=sanitize.js.map