جامد مسلیں ان پوشوں میں رکھیں جو ڈبلیو ڈبلیو روٹ کے علاوہ ہیں
ماحول
- بصری سٹوڈیو
-
- ویژیول سٹوڈیو 2019
- ASP.NET کور
-
- 3.1 (ریزر صفحہ، ایم وی سی)
جامد مسلیں کے لیے طے شدہ جگہ جگہ کے بارے میں
جامد مسلیں (.js، .css، .png وغیرہ) طے شدہ طور پر ڈبلیو ڈبلیو ڈبلیو روٹ فولڈر کے تحت ہونے کا تعین کرتی ہیں۔ اس سے ویب سائٹ صارفین ایچ ٹی ایم ایل کے ساتھ براہ راست .js اور .css فائلیں دیکھ سکتے ہیں اور سکرین پر ان کی عکاسی کر سکتے ہیں۔
اس جامد مسل کے لیے طے شدہ پلیسمنٹ پوشہ ڈبلیو روٹ ہے کیونکہ یہ طریقہ کار Startup.Configure
میں بیان کردہ درج ذیل طریقہ کار کو کال کرتا app.UseStaticFiles
ہے:
public class Startup
{
// 省略
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略
app.UseStaticFiles();
// 省略
}
}
جسمانی پوشہ کا راستہ "ڈبلیو روٹ" یو آر ایل میں "tpp///لیفٹیننٹ؛میزبان نام>/" ہے۔ مثال کے طور پر، مسل ان ڈبلیو ڈبلیو روٹ\تصویر\نمونہ.png یو آر ایل میں نام>/تصویر.png اور نمونہ کے تحت پایا جا سکتا ہے۔]
ڈبلیو ڈبلیو روٹ پوشہ کے باہر رکھی گئی مسلیں لازمی طور پر ویب پر ایک یو آر ایل سے حوالہ نہیں دی جاتی ہیں۔
ڈبلیو روٹ فولڈر کے علاوہ جامد مسلیں کیسے رکھیں اور یو آر ایل پر حوالہ راستہ تبدیل کریں
پوشہ تشکیل
اس بار، میں ڈبلیو ڈبلیو ڈبلیو روٹ فولڈر کے فنکشن کو چھوڑنا چاہتا ہوں، لیکن تصویر مسل کو ایک علیحدہ فولڈر میں بھی رکھنا چاہتا ہوں تاکہ اسے ویب پر حوالہ دیا جا سکے۔
منصوبہ کی پوشہ تشکیل درج ذیل ہونی چاہیے، تاکہ آپ علاقوں میں ہر سائٹ کے مشمول پوشہ میں تصویر مسلیں دیکھ سکیں۔
اس حالت میں یو آر ایل نمونہ 1 میں فائل .png.png
- اسٹیپیز//لیفٹیننٹ؛میزبان نام>/اکھاڑے/سائٹ1/مواد/تصویر/نمونہ1.png
اور
- tp//لیفٹیننٹ؛ہوسٹنیم>/سائٹ1/مواد/تصویر/نمونہ1.png
ایسا لگتا ہے کہ ایسا ہو سکتا ہے، لیکن یہاں
- tp///لیفٹیننٹ؛ہوسٹنیم>/سائٹ1/تصویر/نمونہ1.png
میں حوالہ دیا جائے.
ویسے اگر آپ نے ایک جامد مسل کو ڈبلیو روٹ پوشہ کے علاوہ رکھا ہے تو مسل کی تعمیر عمل غائب ہو سکتی ہے۔ اگر آپ شائع کرتے رہیں تو مسل نہیں رکھی جائے گی، لہذا اسے دوبارہ مشمول پر سیٹ کرنا یقینی بنائیں۔
پروگرام شامل کریں
غیر-ڈبلیو ڈبلیو روٹ پوشوں میں جامد مسلیں دستیاب کرانے کے لیے، طریقہ کار میں اضافی طریقوں کو Startup.Configure
درج ذیل طور پر کال app.UseStaticFiles
کریں:
// 追加
using Microsoft.Extensions.FileProviders;
using System.IO;
// 省略
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略
// wwwroot フォルダで静的ファイル参照を有効にする
app.UseStaticFiles();
// Site1 用の物理コンテンツフォルダと参照 URL を紐づける
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "Areas/Site1/Content")),
RequestPath = "/Site1",
});
// Site2 用の物理コンテンツフォルダと参照 URL を紐づける
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "Areas/Site2/Content")),
RequestPath = "/Site2",
});
// 省略
}
app.UseStaticFiles
بغیر دلائل کے طریقہ کار کو کال کرنے سے ڈبلیو ڈبلیو روٹ فولڈر فعال ہو جاتا ہے۔
آپ پہلی دلیل پر منتقل ہو کر اضافی سیٹنگیں شامل کر سکتے StaticFileOptions
ہیں۔
StaticFileOptions.FileProvider
اس مادی پوشہ کی تخصیص کرتا ہے جس کی PhysicalFileProvider
مثال پاس کرتے وقت آپ چاہتے ہیں کہ پراپرٹی کو جامد فائل کہا جائے۔
یہاں متعین کردہ راستے کے تحت مسل ایک مسل ہے جس کا حوالہ ویب پر دیا جا سکتا ہے۔
یہ درج ذیل خصوصیات کے لیے یو آر ایل کی جڑ بھی ہو سکتی RequestPath
ہے:
env.ContentRootPath
پراپرٹی ویب پروگرام کی جڑ کا راستہ (جسمانی راستہ) پر مشتمل ہے۔
ہدف پوشہ کے نسبتی راستے کے ساتھ اس کو جوڑنا ایک اچھا خیال ہے۔
StaticFileOptions.RequestPath
پراپرٹی یو آر ایل کے جڑ کے راستے کو بیان کرتی ہے جو جامد فائل کا حوالہ دیتی ہے۔
ڈیفالٹ ڈبلیو ڈبلیو روٹ https://<ホスト名>
کی بنیاد پر ہے۔
جیسا کہ RequestPath = "/Site1"
مندرجہ بالا کوڈ میں ہے، اگر آپ لکھتے ہیں
https://<ホスト名>/Site1
جڑ ہے.
یہ Areas/Site1/Content/xxxx
جسمانی راستے کو یو آر ایل سے جوڑتا https://<ホスト名>/Site1/xxxx
ہے۔
نمونہ1.png بطور مثال استعمال کرتے ہوئے، Areas/Site1/Content/image/sample.png
مسل کو راستے میں حوالہ دیا جا سکتا https://<ホスト名>/Site1/image/sample.png
ہے۔
عملیہ پڑتال کریں
index.html
آئی ایم جی ٹیگ رکھیں تاکہ آپ تصویر کو درج ذیل طور پر دیکھ سکیں:
راستہ وضاحت کے مطابق سائٹ 1 اور سائٹ 2 تصاویر کا بھی حوالہ دیتا ہے۔
<!-- 省略 -->
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
<!-- ここから追加 -->
<img src="~/image/sample.png" />
<img src="~/site1/image/sample1.png" />
<img src="~/site2/image/sample2.png" />
<!-- ここまで追加 -->
اگر آپ اسے چلاتے ہیں اور تصویر دیکھتے ہیں تو یہ ایک کامیابی ہے۔