实际上,这看起来像下载功能,允许用户确定应存储文件的本地路径。
整个事情是:后台程序将在服务器中生成一个数据文件,之后,我想将数据文件从服务器传递给客户端。
我使用了FileStreamResult
和FileContentResult
,但它不起作用。
生成了* .csv文件,然后该文件需要传输到客户端。在控制器中,代码非常简单,如return new FilePathResult(filePath,"text/csv");
我设置断点,代码执行没有任何异常,但我没有看到任何web diaglog让用户选择保存csv文件的路径
答案 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);
}