伊莉討論區

標題: WebApi檔案下載 [打印本頁]

作者: robert20485    時間: 2016-11-23 10:45 AM     標題: WebApi檔案下載


遇到一個前端Post到後端下載檔案的問題
private void ExportToExcel(string FileType, string FileName, string ExcelContent)
{
    System.Web.HttpContext.Current.Response.Clear(); //清除buffer
    System.Web.HttpContext.Current.Response.ClearHeaders();
    System.Web.HttpContext.Current.Response.Buffer = false;

    System.Web.HttpContext.Current.Response.ContentType = FileType;
    System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
    System.Web.HttpContext.Current.Response.Charset = "utf-8";
    System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());

    System.IO.StringWriter tw = new System.IO.StringWriter();
    System.Web.HttpContext.Current.Response.Write("<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=utf-8\"/>" + ExcelContent.ToString());
     System.Web.HttpContext.Current.Response.Flush();
     System.Web.HttpContext.Current.Response.End();

        }


這是我 excel 下載的方式,如果我前端用 window.open 的方式可以產生出一個excel
因為需要傳入多筆的條件,所以需要改用Post的方式去呼叫後端。
可是如果以目前這樣動態產excel 我post 的部分不知道要怎麼去接他。
還是有什麼方式可以不管前端怎麼接,我就是回傳一個檔案給他呢?

作者: Josie_2016    時間: 2016-11-24 04:13 PM

將原本window.open的邏輯改成在按鈕事件呼叫ExportToExcel提供下載試試
作者: 皇臾    時間: 2017-2-5 01:34 PM

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 伊莉討論區 (http://aaa.eyny.com/) Powered by Discuz!