核心思想:下载文件的代码到处都是,我这边不列举,下载方法通过form提交,并指向一个隐藏的iframe
代码:
下载文件的代码(可以理解为这是一个MVC的页面):
public ActionResult Download()
{
string fileName = Microsoft.JScript.GlobalObject.unescape(Request["name"]);//客户端保存的文件名
string filePath = Server.MapPath("/ExportExcel/" + Request["url"]);//路径
int index = filePath.LastIndexOf(".");
fileName = fileName + filePath.Substring(index);
return File(new FileStream(filePath, FileMode.Open), "text/plain", fileName);
}
前端调用:
var url = '/CommonPage/Download?url=' + fileurl + '&name=' + escape(fileName);
var form = $("<form>");
form.attr('style', 'display:none');
form.attr('target', 'iframe2');
form.attr('method', 'post');
form.attr('action', url);
$('body').append(form);
form.submit();
form.remove();
<iframe id="iframe2" name="iframe2" src="" class="Listcenter" style="display: none;"></iframe>