使用SharePoint 2007 Web Service上傳文件到文檔庫

作者: 生魚片  來源: 博客園  發布時間: 2011-01-03 22:07  閱讀: 1939 次  推薦: 0   原文鏈接   [收藏]  

  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

0
1
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()