从web-api返回文件导致错误“找不到文件”

时间:2018-08-01 14:01:16

标签: c# asp.net-web-api

我正在尝试从网络api返回文件,但得到了System.IO.FileNotFoundException Could not find file

我可以这样读取字节数组:System.IO.File.ReadAllBytes(csvPath);

但是当我返回具有以下相同路径的文件时:return File(csvPath, "text/csv", "data.csv");

正在抛出System.IO.FileNotFoundException Could not find file

1 个答案:

答案 0 :(得分:2)

问题可能是File接受virtualPath作为路径,这与正常路径不同。阅读this blog post,以了解有关ASP.NET中不同类型的路径的更多信息,或者您可以使用接受文件流作为参数的不同重载:File

例如:

var stream = System.IO.File.OpenRead(csvPath);
return File(stream, "text/csv", "data.csv");