.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[1];
               
                //SPAttachmentCollection attachments = item.Attachments;
              
                Response.Write("<br><br>" + list.ID);
                // item.i
                //  item.Attachments.AddNow(FileUpload1.FileName, FileUpload1.FileBytes);
            }

        }

 

但这两种都只是针对普通的自定义列表添加附件形式来实现.

同时可能会考虑到另外一种情况,是要把上传到文档库,然而这个东西,我现在一直在试,如果用spsite,是能解决问题?然而用spsite一定要在sharepoint服务上处理,如果离开sharepoint服务器,处理不了.这的确比较麻烦.

而用webservice,到现在都还没有找到方案.真是悲哀啊.

不知哪位高手有碰过这问题?还不忘赐教.

posted @ 2010-09-28 23:24  中级程序员  阅读(1328)  评论(1)    收藏  举报