首页 > 解决方案 > node.js res.download() 使用不区分大小写的文件名

问题描述

我正在使用此代码从 node.js 中的服务器文件夹下载文件。

  res.set("Content-Disposition", "inline; filename=" + fileNameOnly);
  res.set("Content-Type", "application/pdf");
  res.download(filePath + fileNameOnly, fileNameOnly, (err) => {
    if(err) {
      console.log('Impex Ctlr: There was an error in downloading document: ' + err);
      res.status(500).send({message: 'Download Error' + err})
    }
  });

必需:能够使用不区分大小写的文件名(上述代码中的 var fileNameOnly)获取文件

如果提供的文件名完全匹配(区分大小写),则此代码有效。

知道如何让它使用不区分大小写的文件名吗?

标签: node.jsfilesystems

解决方案


我假设保存这些文件的文件系统是某种 unix 变体。这意味着文件系统区分大小写。有几种方法可以解决此问题,但其中大多数都涉及更改服务器端,并且根据您的情况,这可能会也可能不会。这是一个开始思考如何执行此操作的链接: https://www.google.com/search?q=linux+filename+case+insensitive&rlz=1C1GCEA_enUS859US859&oq=linux+filename+case+insensitive&aqs=chrome..69i57j0i22i30l2。 8591j0j7&sourceid=chrome&ie=UTF-8

在节点方面,我不知道有一种方法可以做到这一点,除了排列,我相信你想避免这种排列。


推荐阅读