Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net MVC核心web应用程序中引用静态文件_Asp.net_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

如何在asp.net MVC核心web应用程序中引用静态文件

如何在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

我的Asp.net核心MVC web应用程序中有两张excel表格,位于名为“文件”的文件夹下,如下所示:-

现在,我想在TextFieldParser方法中引用这些文件,如下所示:-

 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小时后通知您。