在Aras开发过程中,有时需要文件的物理地址(即文件在服务器中的具体文件夹),此处说明文件的物理地址的获取方式。
1 获取文件的ID,以下图为例,文件ID为B46047D9520D43EF9D63D78A5DAD3FC8;则在数据仓库中的位置为:
2 以下为二次开发过程中,获取文件物理位置的代码(C#):
string fileid=this.getProperty("fileid");///获取参数fileid,此为文件的ID
Item file=inn.getItemById("file",fileid);
XmlDocument xmlDoc = new XmlDocument();
string _xmlpath =System.AppDomain.CurrentDomain.BaseDirectory.Replace("Innovator\\Server\\","VaultServerConfig.xml");
xmlDoc.Load(_xmlpath); //读取VaultServerConfig.xml
XmlNode pathNode = xmlDoc.SelectSingleNode("./VaultServer/LocalPath");
string strfullPath = pathNode.InnerText; ///获取数据仓库的物理位置
string DBName= CCO.DB.DatabaseName; ///获取数据库名称
string Fileone = fileid.Substring(0,1); ///获取文件ID第一位
string FileTwo = fileid.Substring(1,2); ///获取文件ID第二,三位
string FileThree = fileid.Substring(3); ///获取文件ID余下的部分
///组合为最终的物理路径
strfullPath = strfullPath + DBName + "\\"+Fileone + "\\" +FileTwo+"\\"+FileThree+"\\"+file.getProperty("filename");