/// <summary>/// 文档库文档复制,获取文件/// </summary>public void DownloadFile(){try{string IDstr = this.Request["id"];//文档IDint ID = 0;bool IsId = int.TryParse(IDstr, out ID);if (IsId){string curDocLibUrl = "/Template/TemplateDocument/";//当前文档所在文档库SPSecurity.RunWithElevatedPrivileges(delegate(){Guid siteID = Web.Site.RootWeb.Site.ID;using (SPSite spSite = new SPSite(siteID)){using (SPWeb spWeb = spSite.AllWebs["Template"]){spWeb.AllowUnsafeUpdates = true;SPList clist = spWeb.GetList(curDocLibUrl);SPListItem item = clist.GetItemById(ID);if (item != null){SPFile file = item.File;string fn = System.IO.Path.GetFileName(file.Name);byte[] contet = file.OpenBinary();ExportByWeb(contet, fn);//下载文件                                   Stream ss = file.OpenBinaryStream();WriteFile(fn, ss);//将文件保存到服务器对应路径下}}}});}}catch (Exception ex){this.DebugTrace("te DownloadFile failed: {0}", ex.Message);}}/// <summary>/// 下载文档/// </summary>/// <param name="buffer"></param>/// <param name="strFileName"></param>public static void ExportByWeb(byte[] buffer, string FileName){HttpContext curContext = HttpContext.Current;// 设置编码和附件格式curContext.Response.ContentType = "application/octet-stream";curContext.Response.ContentEncoding = Encoding.UTF8;curContext.Response.Charset = "";curContext.Response.AddHeader("Content-Length", buffer.Length.ToString());curContext.Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8));curContext.Response.Clear();curContext.Response.BinaryWrite(buffer);curContext.Response.Flush();curContext.Response.End();}/// <summary>/// 将文件保存到服务器对应路径下/// </summary>/// <param name="fn">文件名带后缀</param>/// <param name="Strings">文件流</param>/// <param name="IDstr">文件ID</param>public static void WriteFile(string fn, Stream Strings){string Path = @"C:\test\downfile\" + fn;if (!File.Exists(Path)){FileStream f = File.Create(Path);f.Close();f.Dispose();}StreamWriter f2 = new StreamWriter(Path, true, Encoding.UTF8);f2.WriteLine(Strings);f2.Close();f2.Dispose();}#endregion

前台页面切记不要用ajax请求去下载文件,否则会下载不成功的,只能获取到流数据。可以通过链接去打开页面下载

            HttpContext curContext = HttpContext.Current;curContext.Response.Redirect("http://xxx.xxx.xx.xx?id=3&action=downloadfile");

sharepoint文档库文件下载相关推荐

  1. 360安全卫士造成Sharepoint文档库”使用资源管理器打开“异常

    备注:企业用户还是少用360为妙 有客户反馈:部门里的XP SP2环境客户机全部异常,使用资源管理器打开Sharepoint文档库,看到的界面样式很老土,跟本地文件夹不一样. 刚开始在测试环境上折腾了 ...

  2. 【SharePoint】SharePoint 文档库中html文件打开后直接通过浏览器访问,而不是直接下载

    前言 SharePoint  文档库打开HTML 直接浏览而不是打开下载对话框,按照如下步骤操作完成后,可以直接在浏览器中打开访问页面 设置步骤 1.打开SharePoint管理中心 2.点击&quo ...

  3. SharePoint文档库,如何在新窗口打开中的文件

    默认情况下,点击文档库中的文件是在当前浏览器中打开的(如果你设置的是在客户端软件打开,则不符合本文情况).那么如果让他在新窗口中打开呢? 这里需要借助jQuery,关于如何将jQuery集成到Shar ...

  4. 用javascript自定义SharePoint文档库/列表项菜单

    本文转自YCC博客 我们在SharePoint中自定义菜单,通常通过带CustomAction 的Feature来实现,比如隐藏一个菜单: <HideCustomAction>   Gro ...

  5. 如何为SharePoint文档库、文件夹、文件单独设置权限

    在这里使用截图的方式简单描述两个问题:设置SharePoint Server文档库权限和文档库中的文件夹权限 一.设置SharePoint Server文档库权限 Figure 1 - 打开文档库后, ...

  6. [sharepoint]文档库,文件夹授权

    写在前面 在项目中用到了文档库授权的方法,这里将查询到的方式总结一下. 涉及到的方法 在逻辑中用到的方法. /// <summary>/// 获取sharepoint站点角色定义 rest ...

  7. C#代码实现上传文件到SharePoint文档库

    SharePoint的文档库是根据数据库虚拟出来的,以HTTP形式呈现,因要创建一个页面单独实现上传功能,故对于其存储和呈现机制进行了学习和研究,不过网络上相关资料还真是很少.SharePoint个人 ...

  8. sharepoint文档库文档版本信息操作

    SPListItem spDoc = oWeb.Lists["共享文档"].GetItemById(DocumentID); SPFileVersionCollection ver ...

  9. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  10. 迁移TFS,批量将文档导入SharePoint 2013 文档库

    一.需求分析 公司需要将存在于旧系统(TFS)所有的文档迁移至新系统(SharePoint 2013).现已经将50G以上的文档拷贝到SharePoint 2013 Server上.这些文档是一些不规 ...

最新文章

  1. npm ERR! asyncWrite is not a function
  2. netty-阻塞模式,非阻塞模式
  3. 排序算法系列:选择排序算法
  4. 基于PYNQ-Z2实现BNN硬件加速
  5. oracle 修改序列末值,当ViewModel值更改时,用户界面未更新
  6. C# 索引器的简单例子
  7. 自然语言处理——BERT情感分类实战(一)之预处理
  8. java中this关键字
  9. ubuntu/centos Server 安装完成后,开启SSH,配置IP地址,DNS
  10. 软件功能个性定制思维顺序
  11. (第3章)Docker核心原理解读
  12. 微型计算机内存储容量的基本单位是,计算机中用来表示内存储器容量大小的基本单位是()。...
  13. Django下进行urlencode编码,可以编码中文参数的代码
  14. 从零开始学习CANoe(四)—— 设计panel
  15. luogu 5561 [Celeste-B]Mirror Magic 后缀数组+RMQ+multiset
  16. 计算机的外围设备找不到,bluetooth外围设备找不到驱动解决方法
  17. 虚拟服务器磁盘 厚置备置零,VMware ESXi 虚拟硬盘格式记录:厚置备延迟置零、厚置备置零、精简置备...
  18. MSDN 我告诉你(资源库)
  19. android节日接口,节假日api及其整合
  20. [ArcGIS].txt或.xlxs(Excel)格式如何转为.shp格式?

热门文章

  1. 程序员学炒股(3) 个股和大盘的关系之二
  2. python中怎么用format居中_python中format函数
  3. UX美即好用效应 Aesthetic Usability Effect
  4. 化学与计算机技术,计算机技术与化学教学整合浅议
  5. 中国农业大学计算机考研拟录取名单,2019中国农业大学硕士考研研究生拟录取名单...
  6. Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found char
  7. 项目总结:快餐店POS收银系统
  8. JS高级---函数中的this的指向,函数的不同调用方式
  9. 2019下半年计算机二级c语言,2019年下半年计算机二级C语言试题(4)
  10. Element动态换肤