分类专栏: 成长的程序员
  1. [HttpGet]
  2. public IActionResult GetTile(int x, int y, int z, int style)
  3. {
  4. var path = TileUtil.GetPath(Config.TilesFloder, (TileStyle)style, x, y, z);
  5. if (!FileUtil.Exists(path))
  6. path = Config.TilesFloder.Combine("noimage.png");
  7. var result = File(path, ContentType.Get(path));
  8. return result;
  9. }

"TilesFloder": "D:/MapTiles"

 

今天犯了个错误,没搜到解决方案,自己找了半天,开始怀疑框架,偶然发现问题,特此记录,以助他人。

 

如上述代码,乍一看没问题,可是调用就是500,最后开始怀疑框架有问题,发现参数名已经提示了,

public virtual VirtualFileResult File(string virtualPath, string contentType);

virtualPath,这个方法仅支持相对路径,也就是你放在wwwroot中的文件。。。。

 

解决方案,用文件流曲线一下

public virtual FileStreamResult File(Stream fileStream, string contentType);
posted on 2021-01-20 17:16  qqhfeng16  阅读(528)  评论(0编辑  收藏  举报