我想知道如何在Visual Studio 2017創建的.net核心項目的www根文件夾之外訪問或創建一個javascript文件。我在我的視圖所在的文件夾中創建了一個文件,但我無法訪問該文件。JS在www根文件夾外的文件
0
A
回答
0
根目錄的要點是通過HTTP公開文件。
如果文件沒有通過HTTP公開,那麼它沒有URL。
如果它沒有URL,瀏覽器無法請求它。
將文件移動到根目錄中。
0
ASP.NET將wwwroot文件夾中的所有靜態filse公開。建議在99%的時間內將文件放在那裏。但是,如果您的項目確實需要將您的JavaScript文件放入視圖文件夾(並且我不明白爲什麼),則可以創建一箇中間件。 您的中間件只是必須對IApplicationBuilder接口
此擴展方法,你可以創建一個靜態類,像這樣
// your middleware (static class so it can have extension methods)
public static class MyStaticFileServer
{
//static method (IApplicationEnvironment so we can easily get the full path of our Project)
public static IApplicationBuilder UseJsFiles(this IApplicationBuilder app, IApplicationEnvironment env)
{
//
var path = Path.Combine(env.ApplicationBasePath, "/Views/Js")
var provider = new PhysicalFileProvider(path);
var options = new StaticFileOptions();
//so our middleware only responds when the url begins with "/Views/js"
options.RequestPath = "/Views/Js";
// file provider so we can serve files
options.FileProvider = provider
//use static file middleware to our middleware to serve files from whatever folder we specify
app.UseStaticFiles(options)
return app;
}
}
現在你和中間件進行服務從靜態文件您選擇的文件夾。現在,我們需要從啓動類中調用我們的中間件。我們通過在啓動類中的配置類中調用它來執行此操作。
//ASP.NET Configure Method in the Startup.cs file
public void Configure(IApplicationEnvironment environment)
{
app.UseJsFiles(environment);
}
0
您實際上可以在.net內核中以原生方式執行此操作。
我假設你有靜態文件中間件運行起來了,但只是櫃面,請在您的NuGet包管理器中的以下內容:
Install-Package Microsoft.AspNetCore.StaticFiles
您startup.cs裏面,你將有一個配置方法。它可能看起來不太相似,如下所示:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
所以UseStaticFiles將服務於wwwroot的東西。但是您實際上可以在流水線中添加多個相同中間件的用途。因此,考慮以下因素:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"content", @"js")),
RequestPath = new PathString("/content/js")
});
app.UseMvcWithDefaultRoute();
}
在這裏,我們提供靜態內容從wwwroot文件按正常,但我們也希望說的/內容的文件位置/ JS應該擔當好。您可以根據需要添加儘可能多的這些內容並提供靜態內容。
更多信息
相關問題
- 1. 從外部根文件夾訪問js
- 2. .htaccess非www重定向到根文件夾的子文件夾
- 3. 在/ var/www外創建文件夾
- 4. 需要指向www根外的文件
- 5. 自從重定向多 - 根到文件夾,文件夾到文件夾+ WWW非WWW
- 6. 到www文件夾
- 7. .ssh/authorized_keys文件裏面www文件夾
- 8. Codeigniter:包含js文件ci文件夾安裝在http文件夾外
- 9. 如何在nodejs的根文件夾之外上傳文件?
- 10. PhoneGap www文件夾結構
- 11. 文件夾來autoappending WWW
- 12. 缺少www文件夾
- 13. EC2共享WWW文件夾
- 14. Phonegap訪問「www」文件夾
- 15. 文件與根文件夾
- 16. 根文件夾外的HTML img src
- 17. 科爾多瓦PhoneGap的CLI是連接根WWW文件夾,而不是平臺/ IOS/WWW文件夾
- 18. 在根文件夾之外上傳文件?
- 19. 我可以把Splash&Icons放在www文件夾的外面嗎?
- 20. 使用portal_catalog在根文件夾以外的文件夾中執行搜索
- 21. 存放文件和NuGet包的文件夾的根文件夾
- 22. 的PhoneGap 2.1的iOS:在應用WWW文件夾讀取文件
- 23. 使用jplayer播放根文件夾以外的MP3文件
- 24. XAMPP指向根文件夾外的文件
- 25. mod_rewrite的有文件夾的根文件
- 26. 錯誤404在WWW文件夾
- 27. $ cordovaFile checkFile()查看www文件夾中的文件是否存在?
- 28. 在PhoneGap的www文件夾中列出文件
- 29. move_uploaded_file根文件夾
- 30. PHP根文件夾
把它放在www文件夾? – evolutionxbox