使用webkitRelativePath时,路径分隔符是特定于操作系统的吗



我正在尝试实现一个具有有限浏览器支持的目录上传功能(即基于Chrome或Chromium的浏览器(。为此,我使用了一个具有webkitdirectory属性的HTMLInput元素。我需要知道的是,所选File对象的webkitRelativePath属性中的目录分隔符是否使用操作系统特定的目录分隔符号。根据W3C的草案,它看起来总是被指定为unix风格的分隔符,但最好对此进行确认(如果可能的话,对于FireFox也是如此(。遗憾的是,MDN文档没有具体说明。

以下是演示功能的片段:

var dirInput = document.getElementById('dirInputTest');
var output = document.getElementById('dirListing');
dirInput.addEventListener(
'change',
function () {
var files = Array.from(dirInput.files);
output.innerHTML = '';
for (var i = 0; i < files.length; i++) {
output.innerHTML += files[i].webkitRelativePath + 'n';
}
}
);
<body>
<input id="dirInputTest" type="file" webkitdirectory />
<pre id="dirListing">
</pre>
</body>

所以我开始启动Windows虚拟机,我可以确认所有主要浏览器(Chrome、Fire Fox、Edge(都使用正斜杠路径分隔符,而不管操作系统如何(我没有测试Opera或Internet Explorer(。

相关内容

最新更新