我正在编写一个需要能够上传和下载各种文件的网站。如.php、.rar、.jpg、.cs、.pdf、.txt等。当我使用普通的 html 时:
<a href="@Model.dList[i].filePath">download</a>
它在浏览器中显示 txt 和 jpeg 文件的内容,但我不希望这种情况发生。我猜我需要使用控制器并为其编写一些代码。我做了一些研究,发现它与文件的 contentType 属性有关。我和他们玩了一下,写了一个函数
控制器:
public FileResult DownloadDoc(int dID)
{
string filePath = getFilePath(dID);
string contentType = getContentType(dID);
filePath = Path.Combine(Server.MapPath(dr.GetString("FilePath")), dr.GetString("FileName"));
return File(filePath, contentType);
}
看法:
@Html.ActionLink("Download", "DownloadDoc", new { dID = @Model.dList[i].documentationID })
使用此功能会下载一个文件,但它的名称始终是 DownloadDoc,并且没有任何扩展名。我被困在这里。
在上传文件时我应该做点什么吗?顺便说一句,在我上传文件后,它们的路径、内容类型和文件名都存储在数据库中。我该怎么办?