Asp.net core web api 下载文件 return File 返回500错误 解决方案
分类专栏: 成长的程序员
版权
- [
- public IActionResult GetTile(int x, int y, int z, int style)
- {
- var path = TileUtil.GetPath(Config.TilesFloder, (TileStyle)style, x, y, z);
- if (!FileUtil.Exists(path))
- path = Config.TilesFloder.Combine("noimage.png");
- var result = File(path, ContentType.Get(path));
- return result;
- }
"TilesFloder": "D:/MapTiles"
今天犯了个错误,没搜到解决方案,自己找了半天,开始怀疑框架,偶然发现问题,特此记录,以助他人。
如上述代码,乍一看没问题,可是调用就是500,最后开始怀疑框架有问题,发现参数名已经提示了,
public virtual VirtualFileResult File(string virtualPath, string contentType);
virtualPath,这个方法仅支持相对路径,也就是你放在wwwroot中的文件。。。。
解决方案,用文件流曲线一下
public virtual FileStreamResult File(Stream fileStream, string contentType);