使用Ajax和Asp.net C#从共享文件夹下载文件

时间:2016-07-28 22:18:58

标签: c# asp.net ajax

我正在尝试在C#控制器中编写文件下载功能,以便能够获取共享文件夹中的文件,然后通过网页下载。

所以现在我有1.filename,2.file位置,3。文件扩展名。所以ActionResult看起来像这样:

        public ActionResult Downloadfile(string filename, string fileloaction, string extention)
        {
        ...
        }

我的Ajax调用是:

 $.ajax({
          type: 'POST',
          cache: false,
          url: 'xxx/downloadfile',
          data: { 'filename': filename, 'fileloaction': fulllink, 'extention': extention },
          success: function () {
             ...
            },//end success
           error: function (e) {
              console.log(e.statusText);
              }//end error
            });

那么如何编写Downloadfile函数以获取文件然后传递给我的ajax?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用jquery.fileDownload,这是github上的完整示例 https://github.com/johnculviner/jquery.fileDownload/blob/master/src/Views/FileDownload/Index.cshtml

ASP.Net

[HttpPost, FileDownload]
public FilePathResult DownloadReportPost(int foo)
{              
   return File("~/Report.pdf", "application/pdf", string.Format("Report{0}.pdf", id));
}

<强>的jQuery

$(document).on("click", "a.fileDownloadPromise", function () {
     $.fileDownload($(this).prop('href'))
      .done(function () { alert('File download a success!'); })
      .fail(function () { alert('File download failed!'); });    
            return false; 
});