2016-07-28 28 views
-1

共有フォルダ内のファイルを取得してWebページからダウンロードできるように、C#コントローラにファイルダウンロード機能を書き込もうとしています。AjaxとAsp.netを使って共有フォルダからファイルをダウンロードするC#

だから私は1.filename、2.file location、3. file extentionを持っています。だから、の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 
      }); 

は、どのように私は私のAJAXに渡し、その後、ファイルを取得するためにDownloadfile関数を書くことができますか?

ありがとうございました!

+0

あなたは、バイナリストリームを返すことができますjQueryの

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

https://github.com/johnculviner/jquery.fileDownload/blob/master/src/Views/FileDownload/Index.cshtml

ASP.Net githubの上の完全な例でありますAjaxの呼び出しが、あなたは何をしていますか?それをクライアントのローカルPCに保存したいのであれば、それにアンカーリンクを行い、download属性を使用するほうがよいでしょう。 – Nico

答えて

0

あなたはjquery.fileDownloadを使用することができ、これは

$(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; 
}); 
関連する問題