通过webService下载sharepoint文档库文件
2014-09-29 14:54
218 查看
第一、基本原理:
1.通过对象模型得到SPItem.File得到文档库文件
2.通过WebService将item.File.OpenBinary()返回
3.将文件保存到服务器
4.从服务器下载到本地
第二、具体代码:
WebService
保存到服务器,下载的本地
第三、源码:
环境:vs2005 ,sp2007
注:服务器端对象模型
http://app.yinxiang.com/l/AAwg2HN1vt9HW78Q29c5fzexeu1Z-DbJh3c/
1.通过对象模型得到SPItem.File得到文档库文件
2.通过WebService将item.File.OpenBinary()返回
3.将文件保存到服务器
4.从服务器下载到本地
第二、具体代码:
WebService
[WebMethod] public byte[] GetAttachmentFileflow(string webPath,string list,int fileId) { try { using (SPSite site = new SPSite(webPath)) { SPWeb web = site.OpenWeb(); SPList lists = web.Lists[list]; SPListItem item = lists.Items.GetItemById(fileId); return item.File.OpenBinary(); } } catch (Exception) { return new byte[] { }; } }
保存到服务器,下载的本地
protected void Page_Load(object sender, EventArgs e) { File.Delete(path); string webPath = "http://18:8099/"; string list = "Shared Documents"; localhost.Service server = new localhost.Service(); byte[] b = server.GetAttachmentFileflow(webPath, list, 1594);//1594为文件ID通过SQL取得 File.WriteAllBytes(path, b); } protected void BtnClick(object sender, EventArgs e) { FileStream fileStrem = new FileStream(path, FileMode.Open); long fileSize = fileStrem.Length; Context.Response.ContentType = "application/octet-stream";//设置报文 Context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("下载.docx", Encoding.UTF8));//下载文件名需要更改 Context.Response.AddHeader("Content-Length", fileSize.ToString()); byte[] fileBuffer = new byte[fileSize]; fileStrem.Read(fileBuffer, 0, (int)fileSize); Context.Response.BinaryWrite(fileBuffer); fileStrem.Dispose();//释放资源 Context.Response.End(); }
第三、源码:
环境:vs2005 ,sp2007
注:服务器端对象模型
http://app.yinxiang.com/l/AAwg2HN1vt9HW78Q29c5fzexeu1Z-DbJh3c/
相关文章推荐
- 通过WebService上传和下载文件
- c# winform通过webservice下载文件
- SharePoint 2010开发实例精选——通过客户端对象模型上传下载文件
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
- 用WebClinet实现SharePoint上文档库中文件的上传与下载
- SharePoint 2013 通过审计获取文档下载次数
- 通过webservice为sharePoint上传文档的要点
- 由通过WebService上传附件给SharePoint的List时文件不能太大的问题说起…
- 用WebClinet实现SharePoint上文档库中文件的上传与下载
- 通过webservice为sharePoint上传文档的要点
- SharePoint 2013 通过审计获取文档下载次数
- SharePoint 2013 通过审计获取文档下载次数
- Sharepoint 下载 文档库文件(转成字节下载)
- c# winform通过webservice下载文件
- 通过C# 应用程序往SharePoint文档库上传文件
- 用WebClinet实现SharePoint上文档库中文件的上传与下载
- 通过备份数据库恢复SharePoint文档库中被删除的文件
- 通过WebService 上传和下载文件
- 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端