دسته بندی ها
21:36 1399/02/20

دسترسی به virtual directory از داخل برنامه asp.net core

مشخصات سوال کننده :
کاربر : ppnrayane     امتیاز کاربر : 0     رتبه کاربر : 7073
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2202
هوش مصنوعی

پاسخ هوش مصنوعی

برای دسترسی به virtual directory در ASP.NET Core، می توانید از Microsoft.AspNetCore.StaticFiles استفاده کنید. در اینجا نحوه انجام این کار را توضیح می دهیم:

اول، اطمینان حاصل کنید که بسته Microsoft.AspNetCore.StaticFiles را به پروژه خود اضافه کرده اید. این کار را می توانید با استفاده از NuGet Package Manager انجام دهید.

سپس، در فایل Startup.cs خود، در متد Configure می توانید virtual directory را به عنوان یک مسیر استاتیک پیکربندی کنید:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();

    // پیکربندی مسیر virtual directory
    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(env.ContentRootPath, "path_to_your_virtual_directory")),
        RequestPath = "/your_virtual_directory" // آدرسی که به آن دسترسی خواهید داشت
    });

    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

در کد بالا، path_to_your_virtual_directory باید به مسیر دایرکتوری که می خواهید به آن دسترسی داشته باشید به روزرسانی شود و /your_virtual_directory آدرسی است که کاربر باید برای دسترسی به فایل ها وارد کند.

حالا می توانید از آدرس http://localhost:your_port/your_virtual_directory/file_name برای دسترسی به فایل های موجود در دایرکتوری استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 13:09 1399/07/17

شما میتونید با ایجاد یک تگ file در کدهای Html خودتون به فایلهای موجود در سیستم local دسترسی داشته باشید. برای این منظور باید از اینترفیس IWebHostingEnvironment استفاده کنید.

 

این سوال و پاسخش رو بخونید تقریبا مشکل شما حل شده توش

آپلود فایل در Asp.net Core چگونه است؟

به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
2 نظر
ppnrayane : با سلام . منظور بنده رو متوجه نشدید. من میخوام آدرس فایل محلی داخل دیتابیس ذخیره بشه و وقتی کاربر دوباره مراجعه میکنه به همون دسترسی پیدا کنه ولی در تگ فایل مسیر فایل آورده نمیشه و امکان ذخیزه سازی در دیتابس هم با مسیر کامل بوجود نمیاد.

امتیاز کاربر : 0   رتبه کاربر : 7073   تاریخ ثبت : 01:16 1399/07/17
fateme : خب شما در متن سوال هیچ اشاره ای به دیتابیس نکردید !!!! پس من چجوری باید منظورتون رو متوجه میشدم !!!

امتیاز کاربر : 1635   رتبه کاربر : 2   تاریخ ثبت : 01:19 1399/07/17
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود