.Net之靜態資源

介紹

靜態文件都存儲在Core Web根目錄中。默認目錄是<content_root>/wwwroot,但可通過 UseWebRoot方法更改訪問目錄。而content_root是指web項目的所有文件夾,包括bin和wwwroot文件夾。

操作

簡單配置

在Configure方法中設置

app.UseStaticFiles();//默認靜態文件目錄是wwwroot

修改默認的靜態文件目錄

在Configure方法中設置

StaticFiles(app, env);

StaticFiles方法

        /// <summary>
        /// 靜態文件
        /// </summary>
        /// <param name="app"></param>
        /// <param name="env"></param>
        /// <returns></returns>
        private void StaticFiles(IApplicationBuilder app, IWebHostEnvironment env)
        {
            //靜態文件重載
            app.UseStaticFiles(new StaticFileOptions
            {
                FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "Upload")), //將目錄切換到靜態文件所在目錄
                RequestPath =new PathString("/fileupload"), //虛擬路徑用來訪問靜態文件
                OnPrepareResponse = ctx =>
                {
                    const int cacheControl = 60;//設置緩存靜態文件的時間
                    var headers = ctx.Context.Response.GetTypedHeaders();
                    headers.CacheControl = new CacheControlHeaderValue
                    {
                        MaxAge = TimeSpan.FromSeconds(cacheControl)
                    };
                }
            });
        }

我們在項目目錄下的Upload文件夾下新建一個1.txt文件,這個時候我們啟動項目,就可以通過地址://localhost:8001/fileupload/1.txt 獲取文件的內容。

微信公眾號

image

Tags: