نحوه نمایش اسم عکس

2 هفته پیش
توسط Fardin Najafi آپدیت شد
Fardin Najafi ( 1870 تجربه )
2 هفته پیش
تخصص : برنامه نویس اندروید

سلام
دوستان بنده با لاراول یه سری عکس ذخیره کردم داخل پوشه images توی پوشه public زیر اما آدرس url عکس رو به صورت کامل زمانی که deploy میکنم نمایش نمیده و عکسهام تو اپ اندروید نمایش داده نمیشه.ممنون میشم راهنمایی کنید.

  public function store(Request $request)
    {
       $validation=$this->getValidationFactory()->make($request->all(),[
            'title'=>'required|max:255',
             'text_content'=>'required',
            'category'=>'required|max:10',
            'image_2'=>'mimes:jpeg,png',
            'image_3'=>'mimes:jpeg,png',
            'image_4'=>'mimes:jpeg,png',
            'image_5'=>'mimes:jpeg,png',
            'image_6'=>'mimes:jpeg,png',
            'image_7'=>'mimes:jpeg,png',
       ]);
       if ($validation->fails()){
           return response()->json(['Message'=>'please feel necessary field'],400);
       }

       $article=new Article();

       $article->title=$request->title;
       $article->text_content=$request->text_content;
       $article->category=$request->category;
       $article->image_2=$request->image_2;
       $article->image_3=$request->image_3;
       $article->image_4=$request->image_4;
       $article->image_5=$request->image_5;
       $article->image_6=$request->image_6;
       $article->image_7=$request->image_7;

       if ($article->save()){

           if(!$request->image_2==null) {
               $name2 = 'article-' . $article->id . '.' . $request->file('image_2')->getClientOriginalExtension();
               $request->file('image_2')->move(public_path('images'), $name2);
               $article->image_2 = $name2;
           }

           if(!$request->image_3==null) {
               $name3 = 'article-' . $article->id . '.' . $request->file('image_3')->getClientOriginalExtension();
               $request->file('image_3')->move(public_path('images'), $name3);
               $article->image_3 = $name3;
           }

           if(!$request->image_4==null) {
               $name4 = 'article-' . $article->id . '.' . $request->file('image_4')->getClientOriginalExtension();
               $request->file('image_4')->move(public_path('images'), $name4);
               $article->image_4 = $name4;
           }

           if(!$request->image_5==null) {
               $name5 = 'article-' . $article->id . '.' . $request->file('image_5')->getClientOriginalExtension();
               $request->file('image_5')->move(public_path('images'), $name5);
               $article->image_5 = $name5;
           }

           if(!$request->image_6==null) {
               $name6 = 'article-' . $article->id . '.' . $request->file('image_6')->getClientOriginalExtension();
               $request->file('image_6')->move(public_path('images'), $name6);
               $article->image_6 = $name6;
           }

if(!$request->image_7==null){
    $name7 = 'article-' . $article->id . '.' . $request->file('image_7')->getClientOriginalExtension();
    $request->file('image_7')->move(public_path('images'), $name7);
    $article->image_7 = $name7;
}
           $article->save();

           return response()->json(['Message'=>'saved successfully'],200);
       }

    }

حالا توی json به صورت زیر نمایش داده میشه که آدرس کامل نیست(image_2) و عکس نمایش داده نمیشه .

{
id: 28,
title: "گام های برنامه ریزی تولید",
text_content: "برنامه ریزی تولید در 5 گام اصلی پیاده سازی می گردد. این گام ها به شرح زیر می باشد: 1-پیش بینی تقاضای محصولات تقاضای محصولات خود را تخمین بزنید که بدانید در یک بازه خاص زمانی چه میزان باید تولید انجام دهید. .",
category: "planning",
view_count: 0,
image_2: "article-28.jpg",
image_3: null,
image_4: null,
image_5: null,
image_6: null,
image_7: null,
created_at: "2020-01-13 18:04:51",
updated_at: "2020-01-13 18:04:51",
}

@hesammousavi
@ali.bayat
@juza66

مهدی عقیقی ( 3910 تجربه )
2 هفته پیش
تخصص : برنامه نویس وب

سلام خسته نباشید.
به نظرم توی این‌جور مواقع لاگ گرفتن و تست کردن حالت‌های مختلف بتونه خیلی کمکتون کنه.
الان شما مثلا $request->image_3; رو dump‌ کنید مقدار داخلش رو ببینید.
بعد من این if ها رو متوجه نمی‌شم شما چرا اینجوری نوشتین!!!
if(!$request->image_3==null)
این رو تبدیل کنید به این :
if($request->image_3!=null)
ببینید شاید فرقی کرد.
اگر تاثیری نداشت چک کنید ببینید اصن وارد if ی که null بودن عکس شماره ۳ و بقیه رو چک می‌کنه میشه یا نه؟ یعنی اصن شاید null دریافت می‌کنه که در اون صورت مشکل از فرانت هست احتمالا. برای چک کردن هم میتونید داخل if یکی چیزی رو echo کنید که ببینید نوشته میشه یا نه.

اگر دیدید وارد اون if‌ هم میشه به چک کنید که $name3 دقیقا چه مقداری رو میگیره‌؟

اگر هیچ‌کدوم از روش‌های بالا جواب نداد، به نظرم بهترین راه اینه که تست‌های مختلف انجام بدین، مثلا تعداد عکس ها رو حذف کنین، چک کنید ببینید فرق image_2 که ذخیره میشه و بقیشون که ذخیره نمی‌شن چیه و ...

مهدی عقیقی ( 3910 تجربه )
2 هفته پیش
تخصص : برنامه نویس وب

حقیقتش من اصلا کد شما رو درست نمی فهمم.
اول $article->save() رو به عنوان شرط گزاشتین توی if بعد یه بار دیگه مقادیر رو دادین و در آخر $article->save() کردین ؟

Fardin Najafi ( 1870 تجربه )
2 هفته پیش
تخصص : برنامه نویس اندروید

ببینید من الان مشکلم اینکه نحوه ذخیره کردن براساس آدرس مطلق رو نمیتونم داشته باشم .این نحوه ذخیره هم از آموزش یک سایت یاد گرفتم .
من میخوام کدهای json من همانند کدهای زیر آدرس عکس در Image_2 به صورت آدرس کامل باشد .

{
id: 28,
title: "گام های برنامه ریزی تولید",
text_content: "برنامه ریزی تولید در 5 گام اصلی پیاده سازی می گردد. این گام ها به شرح زیر می باشد: 1-پیش بینی تقاضای محصولات تقاضای محصولات خود را تخمین بزنید که بدانید در یک بازه خاص زمانی چه میزان باید تولید انجام دهید. .",
category: "planning",
view_count: 0,
image_2:"http://fardin-najafi.ir/آدرس پوشه public/images/article-02",
image_3: null,
image_4: null,
image_5: null,
image_6: null,
image_7: null,
created_at: "2020-01-13 18:04:51",
updated_at: "2020-01-13 18:04:51",
}

ممنون میشم کد درست را ارسال کنید. @MehdiAghighi @hesammousavi @elyasbeshkani

برای ارسال پاسخ باید وارد سایت شوید