Asp.net core靜態文件目錄訪問


如果使用Asp.net core來實現一個能夠訪問其它電腦上的資源

如何將靜態文件注入到項目中
在startup.cs文件的Configure方法中寫入:

app.UseStaticFiles();//提供將wwwroot目錄開放訪問,例如:http://localhost:52723/css/site.css將訪問wwwroot目錄下的css目錄中的site.css文件

  

這方法的默認路徑就是wwwroot目錄

      • 如何使用自定義的文件路徑
        在startup.cs文件的Configure方法中寫入:
      • app.UseStaticFiles(new StaticFileOptions()//自定義自己的文件路徑,例如提供訪問D盤下的Study目錄,http://localhost:52723/MyStudy/README.md將訪問D盤的Study目錄中的README.md文件
                    {
                        FileProvider = new PhysicalFileProvider(@"D:\Study"),//指定實際物理路徑
                        RequestPath = new PathString("/MyStudy")//對外的訪問路徑
                    });
        

 如何瀏覽目錄的文件與文件夾
首先在startup.cs文件的Configure方法中寫入: 

app.UseDirectoryBrowser(new DirectoryBrowserOptions()//提供文件目錄訪問形式
            {
                FileProvider = new PhysicalFileProvider(@"D:\Study"),
                RequestPath = new PathString("/Study")
            });

  

    • 瀏覽目錄以及訪問文件
app.UseFileServer(new FileServerOptions()//直接開啟文件目錄訪問和文件訪問
            {
                EnableDirectoryBrowsing = true,//開啟目錄訪問
                FileProvider = new PhysicalFileProvider(@"D:\Git"),
                RequestPath = new PathString("/Git")
            });

  

/// <summary>
        /// 全盤符文件服務
        /// </summary>
        /// <param name="app"></param>
        public static void UseLocalService(this IApplicationBuilder app)
        {
            DriveInfo[] driveInfos = DriveInfo.GetDrives();
            foreach (DriveInfo drive in driveInfos)
            {
                string requestPath = drive.Name.Replace(":\\", "");
                FileServerOptions fileServerOptions = new FileServerOptions
                {
                    EnableDirectoryBrowsing = true,
                    //RequestPath = $"/{requestPath}",
                    FileProvider = new PhysicalFileProvider(drive.RootDirectory.FullName)
                };
                fileServerOptions.StaticFileOptions.DefaultContentType = "application/x-msdownload";//
                fileServerOptions.StaticFileOptions.ServeUnknownFileTypes = true;
                FileExtensionContentTypeProvider exten = new FileExtensionContentTypeProvider();
                exten.Mappings.Add(".log", "text/plain");//識別擴展類型
                exten.Mappings.Add(".sln", "text/plain");
                exten.Mappings.Add(".lng", "text/plain");
                fileServerOptions.StaticFileOptions.ContentTypeProvider = exten;
                app.UseFileServer(fileServerOptions);
            }
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM