1. using System;

  2. using System.Data;

  3. using System.Configuration;

  4. using System.Web;

  5. using System.Web.Security;

  6. using System.Web.UI;

  7. using System.Web.UI.WebControls;

  8. using System.Web.UI.WebControls.WebParts;

  9. using System.Web.UI.HtmlControls;

  10. using Microsoft.SharePoint;

  11. using System.IO;


  12. namespace StatutesPublication

  13. {

  14. public class DocLib

  15. {

  16. private string siteUri;//网站集

  17. private string webUri;//网站

  18. private string docLibUri;//文档库

  19. SPList list = null;


  20. public DocLib(string siteUri, string webUri, string docLibUri)

  21. {

  22. this.siteUri = siteUri;

  23. this.webUri = webUri;

  24. this.docLibUri = docLibUri;

  25. }


  26. //打开文档库并返回其引用

  27. public SPList Open()

  28. {

  29. SPSite site = null;

  30. SPWeb web = null;

  31. SPList list = null;

  32. //打开网站集

  33. try

  34. {

  35. site = new SPSite(siteUri);

  36. }

  37. catch (Exception ex)

  38. {

  39. throw new Exception("网站集错误:" + ex.Message);

  40. }

  41. //打开文档库所在网站

  42. try

  43. {

  44. web = site.OpenWeb(webUri);

  45. }

  46. catch (Exception ex)

  47. {

  48. throw new Exception("网站错误:" + ex.Message);

  49. }

  50. //打开文档库

  51. try

  52. {

  53. web.Lists.IncludeRootFolder = true;//SPList.RootFolder的访问默认没有开启

  54. list = web.Lists[docLibUri];

  55. }

  56. catch (Exception ex)

  57. {

  58. throw new Exception("文档库错误:" + ex.Message);

  59. }

  60. return list;

  61. }


  62. public string Upload(string filePath,string dirName,string fileName)

  63. {

  64. try

  65. {

  66. list = this.Open();

  67. }

  68. catch

  69. {

  70. return "文档库打开错误!";

  71. }

  72. SPFolder rootFolder = list.RootFolder;

  73. if (dirName == "root")//直接保存在根目录

  74. {

  75. if(FileExists("root",fileName))

  76. rootFolder.Files.Delete(rootFolder.Url + "/" + fileName);

  77. FileStream fs = new FileStream(filePath, FileMode.Open);

  78. byte[] content = new byte[fs.Length];

  79. fs.Read(content, 0, (int)fs.Length);

  80. rootFolder.Files.Add(fileName, content);

  81. fs.Close();

  82. }

  83. else

  84. {

  85. SPFolder subFolder = null;

  86. subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);

  87. subFolder = rootFolder.SubFolders[dirName];

  88. if(FileExists(dirName,fileName))

  89. subFolder.Files.Delete(subFolder.Url + "/" + fileName);

  90. FileStream fs = new FileStream(filePath, FileMode.Open);

  91. byte[] content = new byte[fs.Length];

  92. fs.Read(content, 0, (int)fs.Length);

  93. subFolder.Files.Add(fileName, content);

  94. fs.Close();

  95. }

  96. return "Success";

  97. }


  98. public bool FileExists(string dirName, string fileName)

  99. {

  100. try

  101. {

  102. list = this.Open();

  103. }

  104. catch

  105. {

  106. return false;

  107. }

  108. SPFolder rootFolder = list.RootFolder;

  109. if (dirName == "root")

  110. {

  111. foreach (SPFile file in rootFolder.Files)

  112. {

  113. if (file.Name == fileName)

  114. return true;

  115. }

  116. }

  117. else

  118. {

  119. SPFolder subFolder = null;

  120. subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);

  121. subFolder = rootFolder.SubFolders[dirName];

  122. foreach (SPFile file in subFolder.Files)

  123. {

  124. if (file.Name == fileName)

  125. return true;

  126. }

  127. }

  128. return false;

  129. }


  130. public void FileRemove(string dirName, string fileName)

  131. {

  132. try

  133. {

  134. list = this.Open();

  135. }

  136. catch

  137. {

  138. return;

  139. }

  140. SPFolder rootFolder = list.RootFolder;

  141. if (dirName == "root")

  142. {

  143. foreach (SPFile file in rootFolder.Files)

  144. {

  145. if (file.Name == fileName)

  146. file.Delete();

  147. }

  148. }

  149. else

  150. {

  151. SPFolder subFolder = null;

  152. subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);

  153. subFolder = rootFolder.SubFolders[dirName];

  154. foreach (SPFile file in subFolder.Files)

  155. {

  156. if (file.Name == fileName)

  157. file.Delete();

  158. }

  159. }

  160. }


  161. //读取用户

  162. public string GetUser()

  163. {

  164. SPSite site = null;

  165. SPWeb web = null;

  166. //打开网站集

  167. try

  168. {

  169. site = new SPSite(siteUri);

  170. }

  171. catch (Exception ex)

  172. {

  173. //throw new Exception("网站集错误:" + ex.Message);

  174. return String.Empty;

  175. }

  176. //打开文档库所在网站

  177. try

  178. {

  179. web = site.OpenWeb(webUri);

  180. }

  181. catch (Exception ex)

  182. {

  183. //throw new Exception("网站错误:" + ex.Message);

  184. return String.Empty;

  185. }

  186. string spUser = web.CurrentUser.Name;

  187. return spUser;

  188. }

  189. }

  190. }

  191. <pre>


 copy

  1. using System;  

  2. using System.Data;  

  3. using System.Configuration;  

  4. using System.Web;  

  5. using System.Web.Security;  

  6. using System.Web.UI;  

  7. using System.Web.UI.WebControls;  

  8. using System.Web.UI.WebControls.WebParts;  

  9. using System.Web.UI.HtmlControls;  

  10. using Microsoft.SharePoint;  

  11. using System.IO;  

  12.   

  13. namespace StatutesPublication  

  14. {  

  15.     public class DocLib  

  16.     {  

  17.         private string siteUri;//网站集  

  18.         private string webUri;//网站  

  19.         private string docLibUri;//文档库  

  20.         SPList list = null;  

  21.   

  22.         public DocLib(string siteUri, string webUri, string docLibUri)  

  23.         {  

  24.             this.siteUri = siteUri;  

  25.             this.webUri = webUri;  

  26.             this.docLibUri = docLibUri;  

  27.         }  

  28.   

  29.         //打开文档库并返回其引用  

  30.         public SPList Open()  

  31.         {  

  32.             SPSite site = null;  

  33.             SPWeb web = null;  

  34.             SPList list = null;  

  35.             //打开网站集         

  36.             try  

  37.             {  

  38.                 site = new SPSite(siteUri);  

  39.             }  

  40.             catch (Exception ex)  

  41.             {  

  42.                 throw new Exception("网站集错误:" + ex.Message);  

  43.             }  

  44.             //打开文档库所在网站  

  45.             try  

  46.             {  

  47.                 web = site.OpenWeb(webUri);  

  48.             }  

  49.             catch (Exception ex)  

  50.             {  

  51.                 throw new Exception("网站错误:" + ex.Message);  

  52.             }  

  53.             //打开文档库  

  54.             try  

  55.             {  

  56.                 web.Lists.IncludeRootFolder = true;//SPList.RootFolder的访问默认没有开启  

  57.                 list = web.Lists[docLibUri];  

  58.             }  

  59.             catch (Exception ex)  

  60.             {  

  61.                 throw new Exception("文档库错误:" + ex.Message);  

  62.             }  

  63.             return list;  

  64.         }  

  65.   

  66.         public string Upload(string filePath,string dirName,string fileName)  

  67.         {  

  68.             try  

  69.             {  

  70.                 list = this.Open();  

  71.             }  

  72.             catch  

  73.             {  

  74.                 return "文档库打开错误!";  

  75.             }  

  76.             SPFolder rootFolder = list.RootFolder;  

  77.             if (dirName == "root")//直接保存在根目录  

  78.             {  

  79.                 if(FileExists("root",fileName))  

  80.                     rootFolder.Files.Delete(rootFolder.Url + "/" + fileName);  

  81.                 FileStream fs = new FileStream(filePath, FileMode.Open);  

  82.                 byte[] content = new byte[fs.Length];  

  83.                 fs.Read(content, 0, (int)fs.Length);  

  84.                 rootFolder.Files.Add(fileName, content);  

  85.                 fs.Close();  

  86.             }  

  87.             else  

  88.             {  

  89.                 SPFolder subFolder = null;  

  90.                 subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);  

  91.                 subFolder = rootFolder.SubFolders[dirName];  

  92.                 if(FileExists(dirName,fileName))  

  93.                     subFolder.Files.Delete(subFolder.Url + "/" + fileName);  

  94.                 FileStream fs = new FileStream(filePath, FileMode.Open);  

  95.                 byte[] content = new byte[fs.Length];  

  96.                 fs.Read(content, 0, (int)fs.Length);  

  97.                 subFolder.Files.Add(fileName, content);  

  98.                 fs.Close();  

  99.             }  

  100.             return "Success";  

  101.         }  

  102.   

  103.         public bool FileExists(string dirName, string fileName)  

  104.         {  

  105.             try  

  106.             {  

  107.                 list = this.Open();  

  108.             }  

  109.             catch  

  110.             {  

  111.                 return false;  

  112.             }  

  113.             SPFolder rootFolder = list.RootFolder;  

  114.             if (dirName == "root")  

  115.             {  

  116.                 foreach (SPFile file in rootFolder.Files)  

  117.                 {  

  118.                     if (file.Name == fileName)  

  119.                         return true;  

  120.                 }  

  121.             }  

  122.             else  

  123.             {  

  124.                 SPFolder subFolder = null;  

  125.                 subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);  

  126.                 subFolder = rootFolder.SubFolders[dirName];  

  127.                 foreach (SPFile file in subFolder.Files)  

  128.                 {  

  129.                     if (file.Name == fileName)  

  130.                         return true;  

  131.                 }  

  132.             }  

  133.             return false;  

  134.         }  

  135.   

  136.         public void FileRemove(string dirName, string fileName)  

  137.         {  

  138.             try  

  139.             {  

  140.                 list = this.Open();  

  141.             }  

  142.             catch  

  143.             {  

  144.                 return;  

  145.             }  

  146.             SPFolder rootFolder = list.RootFolder;  

  147.             if (dirName == "root")  

  148.             {  

  149.                 foreach (SPFile file in rootFolder.Files)  

  150.                 {  

  151.                     if (file.Name == fileName)  

  152.                         file.Delete();  

  153.                 }  

  154.             }  

  155.             else  

  156.             {  

  157.                 SPFolder subFolder = null;  

  158.                 subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);  

  159.                 subFolder = rootFolder.SubFolders[dirName];  

  160.                 foreach (SPFile file in subFolder.Files)  

  161.                 {  

  162.                     if (file.Name == fileName)  

  163.                         file.Delete();  

  164.                 }  

  165.             }  

  166.         }  

  167.   

  168.         //读取用户  

  169.         public string GetUser()  

  170.         {  

  171.             SPSite site = null;  

  172.             SPWeb web = null;  

  173.             //打开网站集         

  174.             try  

  175.             {  

  176.                 site = new SPSite(siteUri);  

  177.             }  

  178.             catch (Exception ex)  

  179.             {  

  180.                 //throw new Exception("网站集错误:" + ex.Message);  

  181.                 return String.Empty;  

  182.             }  

  183.             //打开文档库所在网站  

  184.             try  

  185.             {  

  186.                 web = site.OpenWeb(webUri);  

  187.             }  

  188.             catch (Exception ex)  

  189.             {  

  190.                 //throw new Exception("网站错误:" + ex.Message);  

  191.                 return String.Empty;  

  192.             }  

  193.             string spUser = web.CurrentUser.Name;  

  194.             return spUser;  

  195.         }  

  196.     }  

  197. }  

  198. <pre>  


最近在使用Sharepoint开发网站,写了一个简单的操作文档库的类,供大家分享。已实现功能:
1.上传文件到文档库
2.删除文档库中的文件
3.读取当前登录用户
功能比较简单且还在完善中,希望大家多交流