如何在asp.net MVC核心web应用程序中引用静态文件
我的Asp.net核心MVC web应用程序中有两张excel表格,位于名为“文件”的文件夹下,如下所示:- 现在,我想在TextFieldParser方法中引用这些文件,如下所示:-如何在asp.net MVC核心web应用程序中引用静态文件,asp.net,asp.net-core,asp.net-core-mvc,Asp.net,Asp.net Core,Asp.net Core Mvc,我的Asp.net核心MVC web应用程序中有两张excel表格,位于名为“文件”的文件夹下,如下所示:- 现在,我想在TextFieldParser方法中引用这些文件,如下所示:- public async Task<IActionResult> Sync() { using (TextFieldParser parser = new TextFieldParser("*******")) public void Configure
public async Task<IActionResult> Sync()
{
using (TextFieldParser parser = new TextFieldParser("*******"))
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
}
else
{
app.UseStaticFiles();
那么这是否意味着用户可以直接访问这些文件?在我的例子中,我不希望用户能够查看或下载文件,我只希望引用上述代码中的文件。
谢谢希望此代码在某些情况下对您有所帮助
public class HomeController : Controller
{
protected IWebHostEnvironment _host; // using Microsoft.AspNetCore.Hosting
public HomeController(IWebHostEnvironment webHostEnvironment)
{
_host = webHostEnvironment;
}
public IActionResult Index()
{
string YOURCURRENTFILE = _host.ContentRootPath + @"/File/v2.csv";
// USE YOUR TextFieldParser logic
}
}
有两种方法可调用,一种是内容根路径,另一种是Web根路径。Web根路径是您的wwwroot文件夹。如图所示,文件位于内容根路径中。这意味着您需要调用IWebHostEnvironment并使用ContentRootPath,然后添加字符串“Files\…”。但据我所知,在您的服务器中,您需要授予IISUSER的文件修改权限。@Artavazd您能就您的回复提供更多建议吗。?只需将IWebHostEnvironment添加到您的构造函数中,并为其创建一个受保护的字段,他们会调用它并使用ContentRoot,然后将文件路径的其余部分添加到该字符串中。@Artavazd是否有关于如何操作的文档或示例?将准备详细说明,并在2小时后通知您。