美文网首页
nodejs basename特殊字符处理

nodejs basename特殊字符处理

作者: SailingBytes | 来源:发表于2022-04-18 18:26 被阅读0次

nodejs中path模块,提供了basename用于通过文件地址获取文件名。

path.basename('/Desktop/download/quux.png'); // quux.png

但是,basename只能处理普通名字,特殊字符将会转译。

path.basename('/Desktop/download/qu/u<x>qu\ux.png'); // qu:u<x>qu\\ux.png

如在mac下“/”转译成“:”,“\” 转译成“\\”.......

有的同学可能会说用正则replace,或者其他方法split等等......

以上方法也行,但是有一定的风险,不同的mac、windows电脑,可能会出现不同的结果,造成兼容问题,不可控。

使用dirname实现。

const dlpath = '/Desktop/download/qu/u<x>qu\ux.png';

const dirname = path.dirname(dlpath);

const dlname = dlpath.slice(dirname.length + 1); // qu/u<x>qu\ux.png

使用dirname直接拿到目录名地址,然后通过计算长度,截取地址中的文件名。

这个方法稳妥,已在项目中验证。

相关文章

  • nodejs basename特殊字符处理

    nodejs中path模块,提供了basename用于通过文件地址获取文件名。 path.basename('/D...

  • shell 系统函数

    basename基本语法 功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显...

  • 判断字符串中是否含有特殊字符

    判断字符串中是否含有特殊字符 处理html特殊字符转义问题参考文章

  • NSCharacterSet

    学会NSCharacterSet,再也不怕各种字符串处理!!url出现特殊字符处理-- stringByAddin...

  • iOSURL特殊字符处理

    项目中加载图片时因为图片地址中有特殊字符,导致图片无法加载,错误但写法是: 正确但写法 错误分析过程,当把urlS...

  • react 特殊字符处理

    const v = ' 123 ';

  • Spring特殊字符处理

    在使用Spring或Spring Boot时一些特殊的参数会被转义,或者因转义导致出现异常情况,本文汇总总结相关问...

  • Foundation - NSCharacterSet

    我目前使用过的场景: 1、可以用来处理url上的特殊字符工作记录 - URL编码,特殊字符处理2、可以用来限制文本...

  • 错误提示:The reference to entity "us

    XML中的特殊字符 XML中总共有5个特殊字符,如果配置文件中要写这些特殊字符的话,就需要进行特别处理。 使用XM...

  • url 中文字符处理

    加密或者url中文字符或者特殊符号的处理,不是全部,只是对特殊符号的处理。

网友评论

      本文标题:nodejs basename特殊字符处理

      本文链接:https://www.haomeiwen.com/subject/bfndertx.html