客户有一个需求需要在页面中点击下载把文件下载下来,按照传统方法是会出现URI格式不正确。调查发现,传统方法在打看文件是报这个错误。原来是sharepoint你在上传文件,图片的时候把这些文件以二子节的形式保存到数据库中。
需要通过以下方式实现:
1 SPSecurity.RunWithElevatedPrivileges(delegate() 2 { 3 using (SPSite site = new SPSite(SPContext.Current.Site.ID)) 4 { 5 using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID)) 6 { 7 web.AllowUnsafeUpdates = true; 8 string url = img; 9 SPFile tempFile = web.GetFile(url); 10 byte[] obj = (byte[])tempFile.OpenBinary(); 11 Response.Clear(); 12 Response.ClearContent(); 13 Response.ClearHeaders(); 14 Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(imgTitle.ToString())); 15 if (Response.IsClientConnected) 16 { 17 Response.BinaryWrite(obj); 18 } 19 Response.Flush(); 20 Response.Close(); 21 } 22 } 23 });
转载于:https://www.cnblogs.com/lynn-lin/archive/2013/01/18/2866721.html