آپلود تصویر با کد گذاری base64 در لاراول

آپلود تصویر با کد گذاری base64 در لاراول

دسته : فریم ورک لاراول

کد محصول : 53

قیمت : رایگان

در پروژهایی که نیاز به api وجود دارد دوستان اندورید کار نیاز به آپلود تصاویر با کدگذاری base64 دارند با کد گذاری base64 به راحتی می توانند تصاویر را به صورت یک رشته از کاراکتر ارسال کنند. اگر می خواهید نمونه تصاویر base64 بسازید لیست سایتهای زیر جزو بهترین سایتها برای تبدیل تصاویر به کدگذاری 64 بیتی هستند سایت


در پروژهایی که نیاز به api وجود دارد دوستان اندورید کار نیاز به آپلود تصاویر با کدگذاری base64 دارند با کد گذاری base64 به راحتی می توانند تصاویر را به صورت یک رشته از کاراکتر ارسال کنند. 

اگر می خواهید نمونه تصاویر base64 بسازید لیست سایتهای زیر جزو بهترین سایتها برای تبدیل تصاویر به کدگذاری 64 بیتی هستند

همه سایت های یاد شده قابلیت encode و decode را دارا می باشند.

یک عکس را در یکی از این سایتها آپلود کنید و کد base64 را مشاهده کنید میخواهیم این کد را با استفاده از api آپلود کنیم

کد زیر کامل هستش سعی کردم برای هر خط توضیحات رو کامل بگم و این متد رو من post در نظرگرفته بودم این متد رو تو یه کنترلر داخل پروژه لاراولی نوشته بودم و اینجا با یه تغییراتی نوشتم لازم ندیدم اعتبارسنجی لاراول رو باز اینجا بیارم دوستان خودشون بلدن و انجام میدن 

 if(isset($request->avatar) && $request->avatar != '') // اول چک کردیم که حتما مقداری داشته باشه
    {
        $img = $request->avatar; کد ارسالی شما مثلا با اسم آواتار بوده که اینجا میزاریمش تو متغیر
     
        $img = str_replace('data:image/jpeg;base64,', '', $img);
    $img = str_replace('data:image/png;base64,', '', $img);
        $img = str_replace('data:image/jpg;base64,', '', $img);
        $img = str_replace('data:image/gif;base64,', '', $img);
        $img = str_replace(' ', '+', $img);
        $image = base64_decode($img); // تا اینجا کدهای اضافی رو پاک کردیم از رشته دریافتی
        $encodedImgString = explode(',', $request->avatar, 2)[1]; از اینجا به بعد باز رشته اولیه رو برای پیدا کردن پسوند تصویر می گردیم
        $decodedImgString = base64_decode($encodedImgString);
        $info = getimagesizefromstring($decodedImgString);
        if(in_array($ext = substr($info['mime'], 6),['png', 'gif', 'jpeg','jpg'])) // اینجا چک کردیم تصویر یکی از این پسوندها باشه
        {
            $destination= base_path().'/public/upload/em_avatar/'.date('Y').'/'.date('m');// یک مسیر تو پروژه برای آپلود تعیین کردیم
            if(!is_dir($destination))
            {
                mkdir($destination,0777,true);
            }// این شرط برای ساخت مسیرمون هستش اگه نبود
           
            $destination=$destination.'/';آخر مسیر یه اسلش اضافه می کنیم 
            $filename=rand(1111111,99999999); // یه اسم رندوم برای تصویر ساختیم
            file_put_contents($destination.$filename.'.'.substr($info['mime'], 6),$image); // تصویر رو که بالا دیکود کرده بودیم تو مسیر تعیین شده + اسم جدید + پسوند تصویر که بالا تشخیص دادیم
          // تموم شده به این راحتی آپلود کردیم
        }
    }

 

این کل چیزی بود که خیلیا ازش ترس دارن و تو پروژه ها خیلی تاکید میکنن که حتما باید باشه!!! تو قسمت پرسش و پاسخ سوالاتتون رو جواب میدم 

لطفا این مطلب رو با دیگران نیز به اشتراک بذارید

 

  • آپلود تصویر با کد گذاری base64 در لاراول را با دوستان خود به اشتراک بگذارید.
  • سوالات خود را در بخش پرسش و پاسخ این مطلب ثبت کنید.
  • مطالب خود را در جاب تیم به اسم خود ثبت کنید ارسال مطلب


ثبت سوال/پاسخ
بهزاد میرزازاده
در مورد کاربر : همیشه سخت تلاش کردم و به موفقیت های خیلی زیادی رسیدم اما دلیل نشد که متوقف بشم من برای هر روز برنامه دارم و به امید موفقیت های بزرگتر قدم بر میدارم همیشه سخت ترین مسئله ها، ساده ترین راه حل رو دارند پس بهانه جویی نباید روش کار ما برنامه نویسان باشه!!! ما می توانیم آینده را تعیین کنیم
اشتراک گذاری این مطلب