ファイルは私のアプリケーションフォルダApp_Data
に保存されています。ダウンロードすると「ダウンロード」という名前でファイルがダウンロードされます。ファイルタイプはFile
です。元の名前と正しい拡張子でファイルをダウンロードします。どんな助け?ファイルが拡張子なしでダウンロードされている理由
public ActionResult DownloadsFile()
{
var dir = new System.IO.DirectoryInfo(Server.MapPath("~/App_Data/Files"));
System.IO.FileInfo[] fileNames = dir.GetFiles("*.*");
List<string> items = new List<string>();
foreach (var file in fileNames)
{
items.Add(file.Name);
}
return View(items);
}
<div class="st-pusher well" style="overflow:scroll;" id="content">
<br><h3 style="margin-left:10px; text-align:center;">Download Files</h3>
<div style="border: 1px solid silver; margin:10px 10px 0px 10px; padding: 10px; border-radius: 4px; background-color:white;">
<table style="width:100%;" class="table table-bordered">
<tr>
<th>File Name</th>
<th>Link</th>
</tr>
@for (var i = 0; i <= Model.Count - 1; i++)
{
<tr>
<td>
@Model[i].ToString()
</td>
<td>
@Html.ActionLink("Download", "Download", new { FileName = @Model[i].ToString() })
</td>
</tr>
}
</table>
</div>
public FileResult Download(string FileName)
{
return new FilePathResult("~/App_Data/Files/" + FileName, System.Net.Mime.MediaTypeNames.Application.Octet);
}
https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/src/System.Web.Mvc/FileResult.cs#L25 –
野生の推測:ローカルで「エクステンションを隠す」ようにしましたか? –
「拡張子を隠す」はローカルではオンになっていません@HansKesting – faraz