دسته بندی ها
23:36 1399/05/17

مشکل در بارگذاری تصویر در هاست در Asp.net Core

مشخصات سوال کننده :
کاربر : alferedo     امتیاز کاربر : 5     رتبه کاربر : 110
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2782
1 نظر
saedbfd : وقتی خطا رخ میده دکمه f12 رو بزنید و توی سربرگ console ببینید چه خطایی هست. ولی با توجه به اینکه می فرمایید در لوکال درسته احتمال زیاد بخاطر آدرس دهی هست. ولی باید خطا رو بگید چیه. ضمنا یه کار دیگه هم میتونید انجام بدید. روی لوکال هاست رو به جای iis بذارید روی Kestrel و تست کنید. ببینید در حالت هم در لوکال درسته همه چیز یا نه.

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 01:35 1399/05/18
هوش مصنوعی

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

مشکلی که شما با آن مواجه هستید ممکن است به چند عامل مختلف مربوط باشد. برای بررسی دقیق تر، پیشنهاد می کنم موارد زیر را امتحان کنید:

1. **اجازه های دسترسی:** اطمینان حاصل کنید که هاست شما اجازهٔ نوشتن در دایرکتوری `wwwroot` را دارد. عدم دسترسی می تواند منجر به این خطا شود.

2. **اندازه فایل:** ممکن است اندازهٔ فایل هایی که بارگذاری می کنید بیش از حداکثر اندازهٔ مجاز برای آپلود در ASP.NET Core باشد. برای جلوگیری از این مشکل می توانید `FormOptions` را تنظیم کنید:

services.Configure(options =>
{
    options.MultipartBodyLengthLimit = 10 * 1024 * 1024; // 10MB
});

3. **بررسی خطاها:** برای کسب اطلاعات بیشتر دربارهٔ خطا، می توانید از یک بلوک try-catch استفاده کنید و خطا را لاگ کنید:

public string UploadFiles(IEnumerable<IFormFile> files,string uploadPath,string uploadthumbnailPath)
{
    try
    {
        var upload = Path.Combine(_appEnvironment.WebRootPath, uploadPath);
        var filename = "";
        foreach (var file in files)
        {
            filename = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);
            using (var fs = new FileStream(Path.Combine(upload, filename), FileMode.Create))
            {
                file.CopyTo(fs);
            }
        }

        if (uploadthumbnailPath != "")
        {
            InsertShowImage.ImageResizer img = new InsertShowImage.ImageResizer();
            img.Resize(upload + filename, _appEnvironment.WebRootPath + uploadthumbnailPath + filename);
        }
    }
    catch (Exception ex)
    {
        // لاگ کردن خطا
        Console.WriteLine(ex.Message);
        throw;
    }
}

4. **سطح خطاهای ASP.NET Core:** بررسی کنید که آیا سطح خطاهای ASP.NET Core در مورد تولید اطلاعات بیشتری را نشان می دهد. می توانید این کار را با جابجایی به حالت توسعه (Development) انجام دهید.

5. **بررسی سرور:** گاهی اوقات، مشکلات مرتبط با پیکربندی سرور یا firewall می تواند مانع از آپلود فایل ها شود. به پیکربندی سرور خود نگاهی بیندازید و ببینید آیا محدودیت هایی وجود دارد یا خیر.

با اعمال این تغییرات و بررسی شرایط فوق، باید بتوانید مشکل را شناسایی و برطرف کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : mohammad-i 11:27 1399/05/18

شما باید ببنید مشکل در سمت سرور هست یا سمت Ajax.

برای این کار ببینید:

1- آیا فایل در سرور آپلود میشه و خطا هم میده یا نه؟

2- سمت سرور try catch بزارید .

3- کنسول مرورگر رو چک کنید ببینید خطایی داره یا نه.

به این پاسخ امتیاز بدهید    1
امتیاز: 260 رتبه: 7
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود