getTitleName的bug
Closed this issue · 1 comments
urain39 commented
当将dir
设置为/xxxx/
(以文件夹分隔符结尾)时,我们获取的文件名就变成了''
。这个问题应该是 Aria2 的造成的,它返回的数据里就有以连续的文件夹分隔符隔开的路径,如:F:/path/to//file
。
解决方法:我们只需要将源码中的三元表达式改写成无论如何都加上1,跳过分隔符就行了。
urain39 commented
不过更保险的方法是手动解析路径。
function normalizePath(path) {
const RE_DIRECTORY_SEPARATOR = /[/\\]/;
const dirs = path.split(RE_DIRECTORY_SEPARATOR);
let newDirs = [];
for (const dir of dirs) {
if (dir.length > 0)
newDirs.push(dir);
}
return (RE_DIRECTORY_SEPARATOR.test(path.charAt(0)) ? '/' : '') + newDirs.join('/');
}