//下载
function Download(id) {
var form = $("<form>"); //定义一个form表单
form.attr('style', 'display:none'); //在form表单中添加查询参数
form.attr('target', '');
form.attr('method', 'post');
form.attr('action', "/task/DetailDownload");
var input1 = $('<input>');
input1.attr('type', 'hidden');
input1.attr('name', 'id');
input1.attr('value', id);
$('body').append(form); //将表单放置在web中
form.append(input1); //将查询参数控件提交到表单上
form.submit();
}
MVC 控制器 那里的代码
#region 详情-下载
public void DetailDownload(int id)
{
Model.Attachment entity = am.GetByAttachmentID(id);
string fileName = entity.AttachmentName.Split('/')[1];//客户端保存的文件名
string filePath = Common.ConfigHelper.GetConfigString("picUpload") + "/Attachment/" + entity.AttachmentName;
//以字符流的形式下载文件
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
#endregion