• 1400/07/24

خطای Not allowed to load local resource در مروزگر :

باسلام

در یک پروژه وقتی که عکس ها در مسیر wwwroot ذخیره میشن برای نمایش از 

private IWebHostEnvironment Environment

Environment = _environment;

 

Environment.WebRootPath

 

استفاده میکنم و عکس را با مسیر Environment.WebRootPath تلفیق میکنم(combine) اما در مرورگر عکس را نمایش نمی دهد و خطای Not allowed to load local resource را لاگ میزند!

ممنون میشم برای حل این مشکل راهنماییم بکنید.

  • 1400/07/25
  • ساعت 09:55

سلام دوست عزیز

در وهله اول شما باید توی wwwroot یه پوشه درست کنید به عنوان مثال بنام Images ، و عکس هایی که دارید رو توی اون قرار بدید، بعد از اون به اینصورت آدرس دهی کنید :

private IHostingEnvironment _hostingEnvironment;
private string _imageAddress = "";  


public MyService(IHostingEnvironment hostingEnvironment)
        {
            _hostingEnvironment = hostingEnvironment;
            _imageAddress = Path.Combine(_hostingEnvironment.WebRootPath, "Images");
        }

و در آخر کار هم کافیه نام فایل رو به همراه پسوند به _imageAddress  بچسبونید، به اینصورت :

string filePath = Path.Combine(_importFileFullAddress, "نام فایل به همراه پسوند");

البته بهتره قبل از هرکاری یسری چیزارو بررسی کنید ! بعنوان مثال وقتی میخواید عکسی ذخیره کنید توی سرویستون اول چک کنید اگر پوشه مورد نظرتون وجود نداشت اول ایجادش کنید به اینصورت :

if (!Directory.Exists(_imageAddress ))
{
     Directory.CreateDirectory(_imageAddress );
}

یه قبل از اینکه بخواید با فایل مورد نظر کاری انجام بدید اول چک کنید ببینید اون فایل وجود داره یا خیر، به اینصورت :

if (File.Exists(filePath))
{
	//
}

امیدوارم توضیحاتم کامل بوده باشه.

موفق باشید.


  • 1400/07/25
  • ساعت 11:01

با سلام و ممنون بابت پاسختون

همه این کارها رو انجام دادم ولی این خطا هست

وقتی که مسیر عکس را از داخل مرورگر(inspect elements) برمیدارم و مستقیم در url مرورگر میذارم عکس لود میشود

یعنی میشه اینجوری گقت که تگ img نمیتونه این مسیر رو بخونه


  • 1400/07/25
  • ساعت 14:03

احتمالا با اضافه کردن یه علامت / یا ~/ قبل از آدرستون مشکلتون حل میشه، اگر نشد لطف کنید لینکی که توی تگ img قرار میگیره رو بذارید و یه عکس هم از زمانی که inspect میزنید هم اینجا قرار بدید، امکان داره مشکل از قالب و یا کلاس هایی که استفاده میکنید هم باشه ! اونارو هم بررسی کنید

 


  • 1400/07/25
  • ساعت 18:56

 


  • 1400/07/25
  • ساعت 18:59

دقیق متوجه منظورتون از این جمله نشدم

"امکان داره مشکل از قالب و یا کلاس هایی که استفاده میکنید هم باشه !"

اگر منظورتون از قالب قالب سایت هست : قالب استفاده شده الان قالب پیشفرض خود VS  هست

ولی منظورتون از کلاس رو متوجه نشدم

 


  • 1400/07/27
  • ساعت 08:41

قالب که همون قالب سایتتون منظورم بود که میفرمایید Template خود VS هست پس این هیچی

کلاس هم منظورم کلاس های CSS هست که به تگ هاتون میتونستید داده باشید که دیدم هیچ کلاسی استفاده نکردید

از عکس هایی هم که گذاشتید مشخصه قطعا مشکل از آدرس دهیتون هست ! اصلا نباید وقتی Inspect میزنید آدرستون اینطوری Static و از لوکال باشه ! آدرستون باید به اینصورت باشه :

<img src="/Images/GroupImages/5668e2d....png" />

وقتی Inspect زدید بصورت دستی از Images/ به قبل رو حذف کنید ببینید عکستون نشون داده میشه ؟

لطف کنید از کدهای View خودتون هم عکس بزارید یا کدهارو کپی کنید ببینم چطوری آدرس دهی کردید


  • 1400/07/30
  • ساعت 12:32

با سلام

بله درست فرمودید آدرس دهیم مشکل داشت

من به همون صورتی که مسیر ذخیره عکس رو تعریف کرده بودم در کد های html هم به همون صورت مسیر عکس رو داده بودم که اشتباه بود

خیلی ممنون  از راهنمایی هاتون.

 


  • 1400/08/01
  • ساعت 08:04

خواهش میکنم

موفق باشید


logo-enamadlogo-samandehi