• 一起谈.NET技术,使用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

  • 相关阅读:
    R语言 逐步回归分析
    R语言 一元线性回归
    基于Qt的信号分析简单应用软件的设计
    【图论 5】图的应用——拓扑排序和关键路径
    【图论 3】图的应用——最小生成树
    B+树
    大概是最简明的B树博客了
    KMP算法
    【内存管理篇】基本分页存储管理方式
    双向链表为何时间复杂度为O(1)?
  • 原文地址:https://www.cnblogs.com/waw/p/2163083.html
Copyright © 2020-2023  润新知