博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用WebClinet实现SharePoint上文档库中文件的上传与下载
阅读量:5313 次
发布时间:2019-06-14

本文共 2263 字,大约阅读时间需要 7 分钟。

using System;

using System.IO;
using System.Net;
using System.Collections.Specialized;

namespace SharePointVisitUtilities

{
public static class SharePointFileHelper
{
// 上传文件
//
// 参数
// 上传的文件在SharePoint上的位置,要上传的本地文件的路径名,用户名,密码,域
public static string UploadFile(string strDestUrl, string strFilePathName, string strUserName, string strPassword, string strDomain)
{
string strResult = "Success";

try

{
string strFileName = Path.GetFileName(strFilePathName);
string strCopiedFilePathName = Path.GetTempPath() + strFileName;

// 将文件拷贝到临时文件夹

// 目的是可以在文件在被打开状态下还可以上传
File.Copy(strFilePathName, strCopiedFilePathName, true);

// 打开拷贝到临时目录下的文件

FileStream fs = new FileStream(strCopiedFilePathName, FileMode.Open, FileAccess.Read);

// 读文件

BinaryReader br = new BinaryReader(fs);
Byte[] filecontents = br.ReadBytes((int)fs.Length);

br.Close();

fs.Close();

WebClient webclient = CreateWebClient(strUserName, strPassword, strDomain);

// 上传
webclient.UploadData(strDestUrl + strFileName, "PUT", filecontents);
}
catch (Exception ex)
{
strResult = "Failed! " + ex.Message;
}

return strResult;

}

// 下载文件

//
// 参数
// 下载的文件在SharePoint上的位置,文件下载后存放的本地文件夹路径,用户名,密码,域
public static string DownloadFile(string strSourceUrl, string strDestFolder, string strUserName, string strPassword, string strDomain)
{
string strResult = "Success";

try

{
WebClient webclient = CreateWebClient(strUserName, strPassword, strDomain);

// 下载

Byte[] filecontents = webclient.DownloadData(strSourceUrl);

string strFileName = Path.GetFileName(strSourceUrl);

// 创建文件

FileStream fs = new FileStream(strDestFolder + strFileName, FileMode.Create, FileAccess.Write);
// 写文件
fs.Write(filecontents, 0, filecontents.Length);
fs.Close();
}
catch (Exception ex)
{
strResult = "failed! " + ex.Message;
}

return strResult;

}

// 创建WebClient

// 参数:用户名,密码,域(用来登陆SharePoint)
private static WebClient CreateWebClient(string strUserName, string strPassword, string strDomain)
{
WebClient webclient = new WebClient();

if (String.IsNullOrEmpty(strUserName))

{
webclient.UseDefaultCredentials = true;
}
else
{
NetworkCredential credential = new NetworkCredential(strUserName, strPassword, strDomain);
webclient.Credentials = credential;
}

return webclient;

}
}
}

转载于:https://www.cnblogs.com/Areas/archive/2011/11/07/2239092.html

你可能感兴趣的文章
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>
windows基本命令
查看>>
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
Hover功能
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
字符串类型的相互转换
查看>>
HTTP状态码
查看>>
iOS如何过滤掉文本中特殊字符
查看>>
基础学习:C#中float的取值范围和精度
查看>>
MongoDB-CRUD
查看>>