如何显示硬盘上的文件asp.net mvc



我有一个网页在我的asp.net mvc网站用户上传文件。现在我的问题是,我需要在一个页面上显示链接,用户点击它就可以查看文件。

用户可以上传doc、docx和pdf类型的文件。

我该怎么做呢?

请帮忙,

谢谢

您可以做的最简单的事情就是使用System.IO.Directory.GetFiles(..),如下所示:

var myModel = new myModel {
    Files = Directory.GetFiles(@"c:temp")
}

然而,Directory.GetFiles(..)会给你一个字符串数组,这可能有点难处理。如果您需要以更面向对象的方式使用这些文件,请参考DirectoryInfoFileInfo类。

的例子:

var directory = new DirectoryInfo(@"c:temp");
foreach (FileInfo fi in directory.GetFiles()) {
   Console.WriteLine(@"FileName: {0}", fi.Name);
}

MSDN参考:http://msdn.microsoft.com/en-us/library/07wt70x2.aspx

感谢您的回复。

但我一直在寻找这样的东西,它解决了我的问题。

 [HttpGet]
    public ActionResult Index(string id)
    {
        string extension = id.Substring(id.IndexOf(".") + 1);
        string contentType = string.Empty;
        if (extension == "doc" || extension == "docx")
        {
            contentType = "application/msword";
        }
        else if (extension == "pdf")
        {
            contentType = "application/pdf";
        }
        if (string.IsNullOrEmpty(contentType))
        {
            throw new Exception("Invalid file");
        }
        return File(Server.MapPath("~/Docs/" + id), contentType);
    }

上面代码中的id参数为文件名。

谢谢

如果你想知道如何避免你的下载链接被截获MVC路由看看http://weblogs.asp.net/pjohnson/archive/2010/11/11/mvc-s-ignoreroute-syntax.aspx

相关内容

  • 没有找到相关文章