Skip url parameters when determining file name or extension.

This commit is contained in:
kovacsv 2021-07-17 09:57:55 +02:00
parent 239a4df91c
commit a24c3bea05
2 changed files with 23 additions and 2 deletions

View File

@ -20,11 +20,16 @@ OV.GetFileName = function (filePath)
if (firstSeparator !== -1) {
fileName = filePath.substr (firstSeparator + 1);
}
let firstParamIndex = fileName.indexOf ('?');
if (firstParamIndex !== -1) {
fileName = fileName.substr (0, firstParamIndex);
}
return decodeURI (fileName);
};
OV.GetFileExtension = function (fileName)
OV.GetFileExtension = function (filePath)
{
let fileName = OV.GetFileName (filePath);
let firstPoint = fileName.lastIndexOf ('.');
if (firstPoint === -1) {
return '';

View File

@ -97,5 +97,21 @@ describe ('IO Test', function () {
let str2 = OV.ArrayBufferToUtf8String (buffer);
assert.strictEqual (str, str2);
assert.strictEqual (str.length, str2.length);
});
});
it ('File Name', function () {
assert.strictEqual (OV.GetFileName ('file.ext'), 'file.ext');
assert.strictEqual (OV.GetFileName ('folder1/folder2/file.ext'), 'file.ext');
assert.strictEqual (OV.GetFileName ('folder1\\folder2\\file.ext'), 'file.ext');
assert.strictEqual (OV.GetFileName ('https://example.com/file.ext'), 'file.ext');
assert.strictEqual (OV.GetFileName ('https://example.com/file.ext?param1=param2'), 'file.ext');
});
it ('File Extension', function () {
assert.strictEqual (OV.GetFileExtension ('file.ext'), 'ext');
assert.strictEqual (OV.GetFileExtension ('folder1/folder2/file.ext'), 'ext');
assert.strictEqual (OV.GetFileExtension ('folder1\\folder2\\file.ext'), 'ext');
assert.strictEqual (OV.GetFileExtension ('https://example.com/file.ext'), 'ext');
assert.strictEqual (OV.GetFileExtension ('https://example.com/file.ext?param1=param2'), 'ext');
});
});