Asp.net core web api 下載檔案 return File 返回500錯誤 解決方案
阿新 • • 發佈:2021-01-20
分類專欄: 成長的程式設計師
版權
- [
- 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);