从ASP MVC控制器打开文件

时间:2013-09-11 17:25:34

标签: c# .net asp.net-mvc asp.net-mvc-3 file-io

在我们的ASP MVC视图中,我们有LAN上文件的链接。在IE中这可以正常工作,但是在Chrome中你可以整天点击链接,什么都不会发生。我们是一家微软商店,所以看起来有些Office文档与Google的浏览器不相称。

作为一种解决方法,我只想创建一个控制器方法,该方法将获取文件的位置,作为Html.ActionLink中的参数传入,然后打开它。这是我的第一个亮点:

    public void OpenAttachment(string location)
    {
        Process proc = new Process();
        proc.StartInfo = new ProcessStartInfo(location);
        proc.Start();
    }

这将打开文件只是文件,但是当浏览器出现尝试导航到文件的位置(导航窗口中出现LAN地址)时,网页会完全变为空白。

有没有人知道实现这个的更好方法或我需要做些什么来调整我目前的方法?

2 个答案:

答案 0 :(得分:1)

不完全确定这是否是您正在寻找的但是您尝试过FileResult吗?

public FileResult OpenAttachment(string location)
{
    return File(location, "Application/{YOURTYPEHERE}");
}

答案 1 :(得分:0)

只需在链接中添加target = "_blank"属性,并将其用作解决方法。如果有人在那里,宁可选择更优雅的解决方案。