ASP.. NET Core -提供来自WebApi的静态内容



我的ASP上有以下文件夹结构:.NET核心服务器(.NET5.0):

  • wwwroot MyXmlFiles foo.xml

这些文件可以作为静态文件访问,如https://myserver.com/MyXmlFiles/foo.xml。但是,我想通过WebApi控制器动作使文件可用:

[HttpGet("{uri}")]
public string Get(string uri)
{
// How do I return the foo.xml file content here 
// without redirection or loading it to memory?
}

可以从磁盘读取文件的内容并从控制器返回:

[HttpGet("{uri}")]
public IActionResult Get(string uri)
{
var path = GetPathFromUri(uri);
using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
return new FileStreamResult(stream, "text/xml")
}
}

您必须编写GetPathFromUri方法,将uri转换为物理路径(例如"MyXmlFiles/foo.xml")->"wwwroot MyXmlFiles foo.xml")

相关内容

  • 没有找到相关文章

最新更新