后台:
using SNBusiness;
using SNCommon;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Fosun_Star.Controllers
{
public class DownloadController : Controller
{
//
// GET: /Download/
/// <summary>
/// 根据项目档案文件编号下载项目文件
/// </summary>
/// <param name="attachmentId">项目文件编号</param>
public void DownloadProjectDoc(string DocID)
{
string msg = string.Empty;
string fileName = string.Empty;
string filePath = string.Empty;
if (!string.IsNullOrEmpty(DocID))
{
SnProjectdocEntity attach = SnProjectdoc.GetSnProjectdocByID(Guid.Parse(DocID));
if (attach != null)
{
fileName = attach.Docname;
filePath = attach.Docpath;
if (!System.IO.File.Exists(Server.MapPath(filePath)))
{
msg = "附件不存在!";
}
}
else
{
msg = "附件不存在!";
}
}
else
{
msg = "请提供正确的下载附件编号!";
}
if (string.IsNullOrEmpty(msg))
{
fileName = Server.UrlEncode(fileName);
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.WriteFile(filePath);
}
else
{
Response.Write(msg);
Response.End();
}
}
}
}
前台:
<a href="@Url.Action("DownloadProjectDoc", "Download")?DocID={{item.DocID}}">{{item.DocName}}</a>