使用FilePathResult将文件流返回到mvc中的UI

时间:2012-06-09 16:40:59

标签: asp.net-mvc-3

我在控制器中有一个Action

public ActionResult Download()    
{ 
    return File(FileStream, "application/octet-stream", fileName); 
}

如果我想将 FilePathresult 用作:

public FilePathResult Download()
{ 
    return File(FileStream, "application/octet-stream", fileName);
}

我可以点击这样的按钮来调用Download()

@Html.ActionLink("FileDownload", "Download", new { file = item.FileName, GuID = item.DocumentGuID }) /text).Width(10); 

Download()的实现在第二个实例中也是正确的,即在

public FilePathResult Download()

1 个答案:

答案 0 :(得分:2)

您的ActionLink定义了您要传递的参数,因此您需要将这些参数添加到您的操作中

@Html.ActionLink("FileDownload", "Download", new { file = item.FileName, GuID = item.DocumentGuID }) /text).Width(10); 

我不确定/text.Width(10);在那里做了什么,但是正确形成的带有参数的ActionLink也必须将Html属性定义为最后一个参数,只需传入null

以下是正确形成的ActionLink

的示例
@Html.ActionLink("ActionName", "ControllerName", new { id = 10}, null)

您的链接中有fileGuID参数,因此请将这些参数作为参数添加到您的操作中。

public FilePathResult Download(string file, Guid GuID)
{ 
    return File(FileStream, "application/octet-stream", fileName);
}

尝试一下,让我们知道会发生什么: - )

快乐的编码!