دسته بندی ها
12:58 1398/07/08

اشکال در آپلود فایل ویدیو در mvc core 2

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

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

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

برای رفع اشکال در آپلود ویدیو در MVC Core 2، ابتدا مطمین شوید که پیکربندی اپلیکیشن شما اجازه آپلود فایل های ویدیویی را می دهد. به طور خاص، باید اطمینان حاصل کنید که محدودیت اندازه فایل و نوع فایل در سمت سرور به درستی تنظیم شده اند.

برای انجام این کار، می توانید موارد زیر را بررسی کنید:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure(options =>
        {
            options.MultipartBodyLengthLimit = 104857600; // حداکثر حجم 100 مگابایت
        });
        
        // دیگر تنظیمات
    }
}

همچنین، اطمینان حاصل کنید که در کنترلر خود، نوع فایل مجاز را بررسی کنید:

[HttpPost]
public async Task Upload(IFormFile file)
{
    if (file == null || file.Length == 0)
    {
        return BadRequest("فایل انتخاب نشده است.");
    }

    var allowedExtensions = new[] { ".mp4", ".avi", ".mov" };
    var fileExtension = Path.GetExtension(file.FileName).ToLowerInvariant();

    if (!allowedExtensions.Contains(fileExtension))
    {
        return BadRequest("فرمت فایل غیرمجاز است.");
    }

    // منطق ذخیره سازی فایل
}

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

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamdola 23:24 1398/07/26

سلام توی تصویر آخر روی اکشن متد UploadFileVideo یک BreakPoint رو قرار بدید و ببینید مقداری برای پارامتر ورودی اکشن متد یعنی fileViedo ارسال میشه یا نه ؟

به این پاسخ امتیاز بدهید    0
امتیاز: 121 رتبه: 12
پاسخ دهنده : Vzar 23:24 1398/07/26

بله ارسال میشه ولی متاسفانه به خطای ذکر شده برمیخوره....

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7074
پاسخ دهنده : sunboy 23:24 1398/07/26

این خطا بخاطر آپلود فایل نیست زمانی که مقادیر در حال ذخیره شدن در دیتابیس هست یک فیلد جدول باید حتما مقدار بگیره که مقداردهی نکردید بررسی کنید چه فیلدی رو مقدار دهی نکردید یا اینکه مقدار null ارسال می کنه به جدولتون

به این پاسخ امتیاز بدهید    0
امتیاز: 14 رتبه: 49
پاسخ دهنده : fateme 23:24 1398/07/26

این لینک رو مطالعه کنید در مورد آپلود فایل توی Asp.net core هست و کامل کدهاش رو نوشته.

موفق باشید

به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
پاسخ دهنده : Vzar 23:24 1398/07/26

در پاسخ دوستمون sunboy ، این خطا زمان ارسال اطلاعات از view بسمت کنترلر ایجاد میشه و فایل ویدیو در پوشه ذخیره میشود نه در دیتابیس

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7074
پاسخ دهنده : sunboy 23:24 1398/07/26

دوست عزیز بنده هم نگفتم فایل در دیتابیس ذخیره میشه نام فایل در دیتابیس ذخیره میشه شما اگر با بریک پوینت جلو برید و مقادیرتون رو بررسی کنید  متوجه مشکلتون خواهید شد موفق باشید

به این پاسخ امتیاز بدهید    0
امتیاز: 14 رتبه: 49
پاسخ دهنده : saedbfd 23:24 1398/07/26

با سلام و درود

 

آپلوذ فايل شامل عکس، ويديو، موسيقي و ... از نظر کدنويسي تفاوتي نمي کنه در حالت پايه. چون آپلود در واقع نوعي کپي هست از سيستم شما به سرور. حالا چه عکس باشه چه ويديو چه آهنگ.

کدهاي شما ظاهرا مشکل ندارن اما در اکشن متد UploadFileVideo بهتر بود به جاي

IFormFile 

از 

IEnumerable<IFormFile>

استفاده مي کرديد چون فايلها به صورت آرايه اي از رشته هاي باينري ذخيره و آپلود ميشن. بنظر ميرسه خطاي شما همين باشه. اگر دوره آموزشي پياده سازي سايت خبري مشابه 90 رو تهيه کرديد دقيقا از همون کدها مي توانيد استفاده کنيد براي آپلود.

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