Wea*_*nie 2 c# asp.net asp.net-mvc httppostedfilebase asp.net-mvc-4
我之前已将文件上传到我的数据库,现在我想从我的数据库下载该文件.
谁能告诉我怎么样?我是C#和ASP.NET MVC的新手.
控制器:
public ActionResult Details(string id = null)
{
Assignment assignment = db.Assignments.Find(id);
if (assignment == null)
{
return HttpNotFound();
}
return View(assignment);
}
Run Code Online (Sandbox Code Playgroud)
模型:
public string AssignmentID { get; set; }
public Nullable<System.DateTime> SubmissionDate { get; set; }
public string Status { get; set; }
[Range(0,100, ErrorMessage="Only Value between 0-100 is accepted.")]
public Nullable<decimal> Mark { get; set; }
public string Comments { get; set; }
public byte[] FileLocation { get; set; }
Run Code Online (Sandbox Code Playgroud)
视图:
<div class="display-label">
<%: Html.DisplayNameFor(model => model.FileLocation) %>
</div>
<div class="display-field">
<%: Html.DisplayFor(model => model.FileLocation) %>
</div>
Run Code Online (Sandbox Code Playgroud)
由于您具有文件的a Stream或byte[]路径,因此可以使用File()来自Controller基类的方法,并将此文件作为ActionResult样本响应:
public ActionResult Details(string id = null)
{
Assignment assignment = db.Assignments.Find(id);
if (assignment == null)
{
return HttpNotFound();
}
return File(assigment.FileLocation, "content/type", "fileName.extension");
}
Run Code Online (Sandbox Code Playgroud)
请记住要正确content-type并添加fileName正确的扩展名.