设为首页 收藏本站
查看: 995|回复: 0

[经验分享] sharepoint 文档库编程

[复制链接]

尚未签到

发表于 2019-2-4 10:17:07 | 显示全部楼层 |阅读模式

  •   using System;
  •   using System.Data;
  •   using System.Configuration;
  •   using System.Web;
  •   using System.Web.Security;
  •   using System.Web.UI;
  •   using System.Web.UI.WebControls;
  •   using System.Web.UI.WebControls.WebParts;
  •   using System.Web.UI.HtmlControls;
  •   using Microsoft.SharePoint;
  •   using System.IO;

  •   namespace StatutesPublication
  •   {
  •   public class DocLib
  •   {
  •   private string siteUri;//网站集
  •   private string webUri;//网站
  •   private string docLibUri;//文档库
  •   SPList list = null;

  •   public DocLib(string siteUri, string webUri, string docLibUri)
  •   {
  •   this.siteUri = siteUri;
  •   this.webUri = webUri;
  •   this.docLibUri = docLibUri;
  •   }

  •   //打开文档库并返回其引用
  •   public SPList Open()
  •   {
  •   SPSite site = null;
  •   SPWeb web = null;
  •   SPList list = null;
  •   //打开网站集
  •   try
  •   {
  •   site = new SPSite(siteUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("网站集错误:" + ex.Message);
  •   }
  •   //打开文档库所在网站
  •   try
  •   {
  •   web = site.OpenWeb(webUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("网站错误:" + ex.Message);
  •   }
  •   //打开文档库
  •   try
  •   {
  •   web.Lists.IncludeRootFolder = true;//SPList.RootFolder的访问默认没有开启
  •   list = web.Lists[docLibUri];
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("文档库错误:" + ex.Message);
  •   }
  •   return list;
  •   }

  •   public string Upload(string filePath,string dirName,string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return "文档库打开错误!";
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")//直接保存在根目录
  •   {
  •   if(FileExists("root",fileName))
  •   rootFolder.Files.Delete(rootFolder.Url + "/" + fileName);
  •   FileStream fs = new FileStream(filePath, FileMode.Open);
  •   byte[] content = new byte[fs.Length];
  •   fs.Read(content, 0, (int)fs.Length);
  •   rootFolder.Files.Add(fileName, content);
  •   fs.Close();
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   if(FileExists(dirName,fileName))
  •   subFolder.Files.Delete(subFolder.Url + "/" + fileName);
  •   FileStream fs = new FileStream(filePath, FileMode.Open);
  •   byte[] content = new byte[fs.Length];
  •   fs.Read(content, 0, (int)fs.Length);
  •   subFolder.Files.Add(fileName, content);
  •   fs.Close();
  •   }
  •   return "Success";
  •   }

  •   public bool FileExists(string dirName, string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return false;
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")
  •   {
  •   foreach (SPFile file in rootFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   return true;
  •   }
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   foreach (SPFile file in subFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   return true;
  •   }
  •   }
  •   return false;
  •   }

  •   public void FileRemove(string dirName, string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return;
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")
  •   {
  •   foreach (SPFile file in rootFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   file.Delete();
  •   }
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   foreach (SPFile file in subFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   file.Delete();
  •   }
  •   }
  •   }

  •   //读取用户
  •   public string GetUser()
  •   {
  •   SPSite site = null;
  •   SPWeb web = null;
  •   //打开网站集
  •   try
  •   {
  •   site = new SPSite(siteUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   //throw new Exception("网站集错误:" + ex.Message);
  •   return String.Empty;
  •   }
  •   //打开文档库所在网站
  •   try
  •   {
  •   web = site.OpenWeb(webUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   //throw new Exception("网站错误:" + ex.Message);
  •   return String.Empty;
  •   }
  •   string spUser = web.CurrentUser.Name;
  •   return spUser;
  •   }
  •   }
  •   }
  •   
  copy

  •   using System;
  •   using System.Data;
  •   using System.Configuration;
  •   using System.Web;
  •   using System.Web.Security;
  •   using System.Web.UI;
  •   using System.Web.UI.WebControls;
  •   using System.Web.UI.WebControls.WebParts;
  •   using System.Web.UI.HtmlControls;
  •   using Microsoft.SharePoint;
  •   using System.IO;

  •   namespace StatutesPublication
  •   {
  •   public class DocLib
  •   {
  •   private string siteUri;//网站集
  •   private string webUri;//网站
  •   private string docLibUri;//文档库
  •   SPList list = null;

  •   public DocLib(string siteUri, string webUri, string docLibUri)
  •   {
  •   this.siteUri = siteUri;
  •   this.webUri = webUri;
  •   this.docLibUri = docLibUri;
  •   }

  •   //打开文档库并返回其引用
  •   public SPList Open()
  •   {
  •   SPSite site = null;
  •   SPWeb web = null;
  •   SPList list = null;
  •   //打开网站集
  •   try
  •   {
  •   site = new SPSite(siteUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("网站集错误:" + ex.Message);
  •   }
  •   //打开文档库所在网站
  •   try
  •   {
  •   web = site.OpenWeb(webUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("网站错误:" + ex.Message);
  •   }
  •   //打开文档库
  •   try
  •   {
  •   web.Lists.IncludeRootFolder = true;//SPList.RootFolder的访问默认没有开启
  •   list = web.Lists[docLibUri];
  •   }
  •   catch (Exception ex)
  •   {
  •   throw new Exception("文档库错误:" + ex.Message);
  •   }
  •   return list;
  •   }

  •   public string Upload(string filePath,string dirName,string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return "文档库打开错误!";
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")//直接保存在根目录
  •   {
  •   if(FileExists("root",fileName))
  •   rootFolder.Files.Delete(rootFolder.Url + "/" + fileName);
  •   FileStream fs = new FileStream(filePath, FileMode.Open);
  •   byte[] content = new byte[fs.Length];
  •   fs.Read(content, 0, (int)fs.Length);
  •   rootFolder.Files.Add(fileName, content);
  •   fs.Close();
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   if(FileExists(dirName,fileName))
  •   subFolder.Files.Delete(subFolder.Url + "/" + fileName);
  •   FileStream fs = new FileStream(filePath, FileMode.Open);
  •   byte[] content = new byte[fs.Length];
  •   fs.Read(content, 0, (int)fs.Length);
  •   subFolder.Files.Add(fileName, content);
  •   fs.Close();
  •   }
  •   return "Success";
  •   }

  •   public bool FileExists(string dirName, string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return false;
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")
  •   {
  •   foreach (SPFile file in rootFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   return true;
  •   }
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   foreach (SPFile file in subFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   return true;
  •   }
  •   }
  •   return false;
  •   }

  •   public void FileRemove(string dirName, string fileName)
  •   {
  •   try
  •   {
  •   list = this.Open();
  •   }
  •   catch
  •   {
  •   return;
  •   }
  •   SPFolder rootFolder = list.RootFolder;
  •   if (dirName == "root")
  •   {
  •   foreach (SPFile file in rootFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   file.Delete();
  •   }
  •   }
  •   else
  •   {
  •   SPFolder subFolder = null;
  •   subFolder = rootFolder.SubFolders.Add(rootFolder.Url + "/" + dirName);
  •   subFolder = rootFolder.SubFolders[dirName];
  •   foreach (SPFile file in subFolder.Files)
  •   {
  •   if (file.Name == fileName)
  •   file.Delete();
  •   }
  •   }
  •   }

  •   //读取用户
  •   public string GetUser()
  •   {
  •   SPSite site = null;
  •   SPWeb web = null;
  •   //打开网站集
  •   try
  •   {
  •   site = new SPSite(siteUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   //throw new Exception("网站集错误:" + ex.Message);
  •   return String.Empty;
  •   }
  •   //打开文档库所在网站
  •   try
  •   {
  •   web = site.OpenWeb(webUri);
  •   }
  •   catch (Exception ex)
  •   {
  •   //throw new Exception("网站错误:" + ex.Message);
  •   return String.Empty;
  •   }
  •   string spUser = web.CurrentUser.Name;
  •   return spUser;
  •   }
  •   }
  •   }
  •   
  最近在使用Sharepoint开发网站,写了一个简单的操作文档库的类,供大家分享。已实现功能:
  1.上传文件到文档库
  2.删除文档库中的文件
  3.读取当前登录用户
  功能比较简单且还在完善中,希望大家多交流



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-671632-1-1.html 上篇帖子: 一步一步SharePoint 2007之四十七:实现Excel Service(2)——配置Excel Service支持 下篇帖子: 体验SharePoint Online Office Web App
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表