ASP.NET MVC 3,将文件从服务器传递到客户端

时间:2011-11-21 08:45:23

标签: asp.net asp.net-mvc-3 download

实际上,这看起来像下载功能,允许用户确定应存储文件的本地路径。

整个事情是:后台程序将在服务器中生成一个数据文件,之后,我想将数据文件从服务器传递给客户端。
我使用了FileStreamResultFileContentResult,但它不起作用。

生成了* .csv文件,然后该文件需要传输到客户端。在控制器中,代码非常简单,如return new FilePathResult(filePath,"text/csv");我设置断点,代码执行没有任何异常,但我没有看到任何web diaglog让用户选择保存csv文件的路径

2 个答案:

答案 0 :(得分:2)

尝试使用return File()

public FileResult GetFile()
{
    byte[] test = { 0 };
    return File(test, "text/csv","TempFile.csv");
}

并使用actionlink调用它。

@Html.ActionLink("Download File","GetFile","Home")

答案 1 :(得分:0)

谢谢大家,我更改了设计 - 将csv文件放在web根目录下,(例如\ File \ Date \ testing.csv)在Controller方法中将返回一个指向csv位置的json(例如/File/Date/testing.csv),js应该获取url并重定向到/File/Date/testing.csv。

    public FastJsonResult Download()
    { 
        //generate the csv file under root path

        //return the url point to the file

        return JsonView(path);
    }