RootKing's avatar

Image Stored as .tmp file in database. [Laravel]

I am trying to upload my images in Laravel. The image files successfully get uploaded in the desired location but the filename in database is stored as C:\xampp\tmp\php1A3F.tmp.

Code:

if ($request->hasFile('image_url')) {
            $i = 0;
            foreach ($request->file('image_url') as $image_url) {
                $fileName = Str::slug($request->title). time(). $i .'.'.$image_url->extension();
                $fileNameWithUpload = 'uploads/activities/'.$fileName;
                $image_url->move(public_path('uploads/activities'),$fileName);
                $request->merge([
                    'image_url' => $fileNameWithUpload
                ]);
                $i++;
            }
        }

And contuning:

 $activity =  new Activity;
        $activity->title = $request->title;
        $activity->company_name = $request->company_name;
        $activity->price = $request->price;
        $activity->description = $request->description;
        $activity->save();

        if ($activity->save() === true) {

            $data = [];

            foreach ($request->image_url as $key => $value) {
                $data[] = [
                    'activity_id' => $activity->id,
                    'image' => $value,
                    'video' => $request->video_url[$key] ?? null,
                    'created_at' => now()
                ];
            }

            if (! empty($data)) {
                ActivityAsset::insert($data);
            }
        }

        return redirect()->route('activities.index');

    }

What can i do?

0 likes
0 replies

Please or to participate in this conversation.