Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用webkitRelativePath时,路径分隔符是特定于操作系统的吗?_Javascript_Html - Fatal编程技术网

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

Javascript 使用webkitRelativePath时,路径分隔符是特定于操作系统的吗?,javascript,html,Javascript,Html,我正试图在有限的浏览器支持下实现目录上传功能(即Chrome或基于Chrome的浏览器)。为此,我使用带有webkitdirectory属性的HTMLInput元素。我需要知道的是,所选文件对象的webkitRelativePath属性中的目录分隔符是否使用操作系统特定的目录分隔符。它看起来像是根据它被指定为总是unix风格的分隔符,但最好能确认这一点(如果FireFox也有可能的话)。不幸的是,没有具体说明 下面是一个演示该功能的代码段: var dirInput=document.getE

我正试图在有限的浏览器支持下实现目录上传功能(即Chrome或基于Chrome的浏览器)。为此,我使用带有
webkitdirectory
属性的
HTMLInput
元素。我需要知道的是,所选
文件
对象的
webkitRelativePath
属性中的目录分隔符是否使用操作系统特定的目录分隔符。它看起来像是根据它被指定为总是unix风格的分隔符,但最好能确认这一点(如果FireFox也有可能的话)。不幸的是,没有具体说明

下面是一个演示该功能的代码段:

var dirInput=document.getElementById('dirInput测试');
var output=document.getElementById('dirListing');
dirInput.addEventListener(
"变",,
函数(){
var files=Array.from(dirInput.files);
output.innerHTML='';
对于(var i=0;i


所以我开始启动一个Windows虚拟机,我可以确认所有主要浏览器(Chrome、Fire Fox、Edge)都使用正斜杠路径分隔符,无论操作系统是什么(我没有测试Opera还是Internet Explorer)。

好吧。。。这就是当前规范文本所要求的,因此,如果您只对遵循这些规范的实现感兴趣,您可以确保“相对路径是由一个或多个由“/”(U+002F SOLIDUS)连接的路径段组成的字符串,该路径段不以“/”(U+002F SOLIDUS)开头。”,如果您发现一个实现没有遵循该规则,那么它就是一个有缺陷的实现。另外,出于好奇,您愿意对这些路径做些什么?这是一个上传功能,它保留了上传文件夹的目录结构。因此,在上传文件之前,我必须将文件的平面列表转换为树结构,以创建相应的容器。