使用SharePoint 2007 Web Service上传文件到文档库

简介:

SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Service是我们最常用的一种方式,SharePoint本身提供了很多web Service,比如Lists.asmx如下图:

image

 

我们下面就接触sharepoint提供的web service来实现上传文件

1. 我们要上传的文件如下图:

clip_image002

clip_image004

2. 下图为要上传的文档库:

clip_image006

3. 实现代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MOSSUploadDemo1.*****;
using System.IO;
using System.Net;

namespace MOSSUploadDemo1
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceFilePath = "c:\\cpu.txt";
            string wsUrl="http://************/_vti_bin/copy.asmx";
            string desPath="http://*******/DocLib1/filename4.txt";
            string userName="****";
            string password="*****";
            string domain="*****";
            
            byte[] filebyte = StreamFile(sourceFilePath);
            UploadFile(filebyte,wsUrl,desPath,userName,password,domain);
        }

        private static void UploadFile(byte[] fileData,string wsUrl,string desPath,string userName,string password,string domain)
        {
            var copy = new ****.Copy
            {
                Url = wsUrl,
                Credentials = new NetworkCredential(userName, password, domain)
               
            };

            string destinationUrl = desPath;
            string[] destinationUrls = { destinationUrl };
            var info1 = new FieldInformation
            {
                DisplayName = "Title",
                InternalName = "Title",
                Type = FieldType.Text,
                Value = "New Title"
            };
            FieldInformation[] info = { info1 };
            var copyResult = new CopyResult();
            CopyResult[] copyResults = { copyResult };
            copy.CopyIntoItems(destinationUrl, destinationUrls, info, fileData, out copyResults);
        }

        private static byte[] StreamFile(string filename)
        {
            FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);          
            byte[] ImageData = new byte[fs.Length];           
            fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length));           
            fs.Close();
            return ImageData;
          
        }
    }
}

4. 程序远行后,结果如下图:

clip_image008

clip_image010

 

本文转自Justin博客园博客,原文链接:http://www.cnblogs.com/carysun/archive/2010/12/30/moss-upload-webservice.html,如需转载请自行联系原作者

 

相关文章
WEB端交互元件库:Axure设计师的高效利器
EQL UI是一款功能强大、组件丰富的Axure元件库,涵盖500+设计组件与完整后台模板,助力设计师高效搭建高保真原型,提升产品设计效率与质量。
1248 128
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
294 0
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
385 14
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
352 2
|
移动开发 JavaScript 数据可视化
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
213 0
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
开发者 搜索推荐 Java
超越传统:JSF自定义标签库如何成为现代Web开发的个性化引擎
【8月更文挑战第31天】JavaServer Faces(JSF)框架支持通过自定义标签库扩展其内置组件,以满足特定业务需求。这涉及创建`.taglib`文件定义标签库及组件,并实现对应的Java类与渲染器。本文介绍如何构建和应用JSF自定义标签库,包括定义标签库、实现标签类与渲染器逻辑,以及在JSF页面中使用这些自定义标签,从而提升代码复用性和可维护性,助力开发更复杂且个性化的Web应用。
334 0
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
329 0
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
229 0
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
476 0