1

我最近才开始使用 ASP.NET MVC 4 框架,所以这可能非常简单。

基本上项目中有一些 excel (xlsx)文件,我需要能够从该站点下载。

我目前正在这样做

HTML

 <a href="@Url.Action("DownloadTemplate", "Data", new { importToRun = item.Key })"></a>

控制器

public ActionResult DownloadTemplate(string importToRun)
{
    string document = Server.MapPath("~/Infrastructure/document.xlsx");
    string type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    return File(document, type, importToRun);
}

我看不出到底出了什么问题,当我单击链接时,它说它在指定的目录中找不到文件,即使它是正确的并且文件在那里。

如果您从项目/解决方案下载文件,我认为这是一个不同的过程。

我在网上有很好的外观,非常感谢任何帮助。

4

2 回答 2

0

感谢您的帮助,问题是路径。

当我需要引用 Web url 时,我在解决方案中引用了一个位置,它现在可以完美运行

于 2013-08-02T16:31:09.203 回答
0

Your code is correct. So I would think the problem is with the file.

  1. Is there a folder within your website's root named "Infrastructure"?
  2. Try putting the file in the "/App_Data" folder. The way you have the xlsx file right now, someone who knows the path can download it directly. Files in the App_Data directory cannot be accessed directly by the user.
于 2013-08-02T16:20:22.730 回答