目标文件名在Firefox上包含':'路径分隔符

时间:2018-10-26 10:22:18

标签: javascript file path blob separator

我正在处理Angular 6项目,并且在MacOS High Sierra上遇到了Firefox(63.0)问题。

有时,我从资产中加载一个文件作为File对象。稍后,我检索文件名属性。在Chrome上,文件名使用斜杠(/)作为路径分隔符,在Firefox上,文件名使用冒号(:)作为路径分隔符。

文件加载如下:

  • 执行HTTP GET以获得资源作为Blob;
  • 使用以下命令将Blob转换为文件:new File([blob], fileName),其中fileName是使用斜杠表示文件路径的字符串(例如:fileName = 'path/to/my/file.txt'

通过运行以下命令,我已经能够在控制台中重现该错误:

var blob = new Blob();
var file = new File([blob], 'path/to/my/file.txt');

在Chrome和Firefox上生成的对象不同:

  • 在Chrome上 Console output on Chrome

  • 在Firefox上 Console output on Firefox

我的问题是:

File构造函数的正常行为是根据浏览器来不同地转换文件名吗?

如果是,我应该如何处理此行为以防止我的文件名在不同的浏览器上具有不同的路径分隔符?

0 个答案:

没有答案