o_哈哈o 发表于 2015-9-26 10:53:57

.net 上传文档到sharepoint的2种方法

  今天接到上级通知,说我们的项目将会用把各种附件全部上传到sharepoint服务器上,如是开始研究.
  
  一开始就想到了有2种方式处理,一是通过webservice,代码如下
  
        lfq_list.Lists listService = new lfq_list.Lists();
      System.Net.NetworkCredential credit = new System.Net.NetworkCredential("administrator", "123");
      listService.Credentials = credit;
      listService.UnsafeAuthenticatedConnectionSharing = true;
      //listService.u
      try
      {
            listService.AddList("qiang", "ll", 100);
              string mode = @"
   <Method ID=""1"" Cmd=""New"">
      <Field Name=""ID"">New</Field>
      <Field Name=""Title"">qiang2</Field>
   </Method>
  ";
            System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
              System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
              elBatch.SetAttribute("OnError", "Continue");
            elBatch.SetAttribute("ListVersion", "1");
            elBatch.InnerXml = mode;
            listService.UpdateListItems("doc", elBatch);
  
             string address = listService.AddAttachment("test", "2", FileUpload1.FileName, FileUpload1.FileBytes);
        }
      catch (System.Web.Services.Protocols.SoapException ex)
      {
            Response.Write("Message:\n" + ex.Message + "\nDetail:\n" +
                ex.Detail.InnerText + "\nStackTrace:\n" + ex.StackTrace);
      }
  
  还有一种是通过splistitem 来处理,代码如下
  
  using (SPSite site = new SPSite("http://jake:10001/bug "))
      {
            //site.c
              using (SPWeb web = site.OpenWeb())
            {
                web.AllowUnsafeUpdates = true;
                SPList list = web.Lists["doc"];
                SPItem item= list.Items.Add("jake", SPFileSystemObjectType.File);
               
               // SPListItem item = list.Items;
               
                //SPAttachmentCollection attachments = item.Attachments;
               
                Response.Write("<br><br>" + list.ID);
                // item.i
                //item.Attachments.AddNow(FileUpload1.FileName, FileUpload1.FileBytes);
            }
        }
  
  但这两种都只是针对普通的自定义列表添加附件形式来实现.
  同时可能会考虑到另外一种情况,是要把上传到文档库,然而这个东西,我现在一直在试,如果用spsite,是能解决问题?然而用spsite一定要在sharepoint服务上处理,如果离开sharepoint服务器,处理不了.这的确比较麻烦.
  而用webservice,到现在都还没有找到方案.真是悲哀啊.
  不知哪位高手有碰过这问题?还不忘赐教.
页: [1]
查看完整版本: .net 上传文档到sharepoint的2种方法