2016-11-15 30 views
0

我需要下载的服务器作为一个二进制数组上创建一个文件,内容如下:用ajax从ASP.Net Web表单下载文件

Server代码是处理页面(ASHX):

public void ProcessRequest(HttpContext context) 
    { 
     var cId = context.Request.QueryString["CanID"]; 

     if (int.Parse(cId) > 0) 
     { 
      var sc = ControllerAccess.Instance(); 
      var cv = sc.GetUser(int.Parse(cId), SessionHandler.LoggedOnUser); 
      if (cv.Bytes != null && cv.Bytes.Length > 0) 
      { 
       var dTime = DateTime.Now.ToString("yyyyMMddhhmmss"); 

       var response = HttpContext.Current.Response; 
       response.ClearContent(); 
       response.Clear(); 
       response.ContentType = "text/plain"; 
       response.AddHeader("Content-Disposition", "attachment;filename=" + dTime + "-" + Id + "-" + "CandidateRecord" + cv.FileExtension); 
       response.BinaryWrite(cv.Bytes); 
       response.Flush(); 
       response.End(); 
      } 
     } 
    } 

如何使用ajax在客户端上获取该文件?有任何想法吗?

回答

0

你不能仅仅通过AJAX直接下载该文件,如果您需要将文件保存到临时文件夹中的服务器和Ajax调用后下载返回文件名,请参阅我的答案在here