[WebMethod] public byte[] GetAttachmentFileflowByName(string webPath, string listName, string regular) { try { using (SPSite site = new SPSite(webPath)) { SPWeb web = site.OpenWeb(); SPFolder folder= web.Folders[listName]; if (folder!=null) { SPFile file = GetFileFormFolder(folder, regular); if (file!=null) { return file.OpenBinary(); } } return new byte[] { }; } } catch (Exception) { return new byte[] { }; } } /// <summary> /// 在SPFolder中寻找指定regular文件 /// </summary> /// <param name="folder"></param> /// <param name="regular"></param> /// <returns>返回SPFile如无则返回null</returns> public SPFile GetFileFormFolder(SPFolder folder, string regular) { if (folder.Files.Count>0) { foreach (SPFile file in folder.Files) { if (System.Text.RegularExpressions.Regex.IsMatch(file.Name, regular)) { return file; } } } if (folder.SubFolders.Count>0) { foreach (SPFolder iFolder in folder.SubFolders) { if (GetFileFormFolder(iFolder, regular)!=null) { return GetFileFormFolder(iFolder, regular); } } } return null; }