Mar*_*rta 3 .net c# file-io asp.net-mvc-3
问题:我有来自数据库的Id命名的文件.当有人想要下载它时,我需要将其更改为真实姓名.服务器上的文件类似于:http:// localhost:34256/Content/uploads/23.所以例如我的文件名是23但我需要将其更改为textfile1.txt.
我创建了一个包含这些文件列表的局部视图:
@foreach (var item in Model)
{
<a href="/Content/uploads/@item.Id" title="@Html.Encode(item.FileName)">
<img src="@item.IcoSrc" /><br />
@item.FileName
</a>
}
Run Code Online (Sandbox Code Playgroud)
@item.FileName文件的真实姓名在哪里.当有人从这个列表中下载文件时,他得到的文件名为@ item.Id而不是@ item.FileName.我该怎么改变它?
我正在使用MVC3和.NET framevork 4.
任何帮助非常感谢!
您可以创建一个将为该文件提供服务的控制器操作:
public ActionResult Download(string id, string name)
{
var file = Server.MapPath("~/Content/uploads/" + id);
return File(file, "application/octet-stream", name);
}
Run Code Online (Sandbox Code Playgroud)
然后指向此控制器操作的链接:
@foreach (var item in Model)
{
<a href="@Url.Action("Download", new { id = item.Id, name = item.FileName })" title="@Html.Encode(item.FileName)">
<img src="@item.IcoSrc" /><br />
@item.FileName
</a>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5688 次 |
| 最近记录: |