alfresco javascript继承和路径

alfresco javascript继承和路径,javascript,alfresco,Javascript,Alfresco,我正在为Alfresco社区编写一个简单的javascript脚本。每次上传新文件时,我都会运行脚本 我需要检查文件夹中是否存在特定的文件名(label.txt)。如果存在,我将使用文件中包含的信息进行后续处理 如果我单独设置文件名,只要文件夹本身是带有脚本的文件夹,它就可以正常工作 var labelFile = space.childByNamePath("label.txt"); if (labelFile != null) { ... } 当我将脚本的继承设置为

我正在为Alfresco社区编写一个简单的javascript脚本。每次上传新文件时,我都会运行脚本

我需要检查文件夹中是否存在特定的文件名(label.txt)。如果存在,我将使用文件中包含的信息进行后续处理

如果我单独设置文件名,只要文件夹本身是带有脚本的文件夹,它就可以正常工作

var labelFile = space.childByNamePath("label.txt");
   if (labelFile != null)
   {
   ...
   }
当我将脚本的继承设置为较低级别的文件夹时,脚本会运行,但仍会尝试在根文件夹中查找
label.txt
文件。我正在尝试查找上载文档的实际路径:

var dpath = document.displayPath  + "/label.txt";
var labelFile = space.childByNamePath(dpath);
logFile.content += "labelFile: " + labelFile.displayPath + "\r\n";
   if (labelFile != null)
   {
   ...
   }
我在dpath变量中得到了一个假定正确的路径,但是我在file对象上得到了一个NULL结果,因此我无法读取文件及其内容

我做错了什么?

那里的“空间”是什么?试着用“companyhome”,看看这个,了解更多的想法

当前空间脚本节点(如果有)。对于从 规则,空间对象是规则所在的空间。如果继承了规则,则这可能不是预期的空间


问题不在于继承,而在于space.childByNamePath只接受相对路径,而不是绝对路径,因此我需要从空间根计算它:

var dpath = document.displayPath;
var dpatharray = dpath.split("/");
var dpathlength = dpatharray.length;
var spath = space.displayPath;
var spatharray = spath.split("/");
var spathlength = spatharray.length;
var labelpath = "";
for (var i=spathlength + 1; i<dpathlength; i++)
{
    labelpath += dpatharray[i] + "/";
}

var labelFile = space.childByNamePath(labelpath + "label.txt");
var dpath=document.displayPath;
var dpatharray=dpath.split(“/”);
var dpathlength=dpatharray.length;
var spath=space.displayPath;
var spatharray=spath.分割(“/”);
var spathlength=spatharray.length;
var labelpath=“”;

对于(var i=spathlength+1;iI)我读到了这一点,这正是我遇到的问题。我希望用户将他们的文件上传到导入文件夹(带有脚本的文件夹)下的新文件夹中,并在已知文件“label.txt”中添加信息。由于我无法放置在空间路径上,我需要捕获文档路径(他们上传数据的真实路径)。但这不起作用。这不起作用,因为您正在将规则应用于子空间,“空间”根对象每次都不同。另一方面,根对象“companyhome”应该始终是相同的。我认为我的问题,正如我现在正在测试的那样,“childByNamePath”有更多问题需要解决()不接受“displayPath”返回的绝对路径。我必须尝试一些字符串编辑以获得有效的解决方案。