shahr's avatar
Level 10

Array to string conversion when upload an image

Look at my codes.

public function store(Request $request)
{

    $logoFile = $request->logo;
    $imageFile = $request->image;
    if ($request->hasFile('logo')) {
        $logo = $request->file('logo');
        $logoFile = $logo->getClientOriginalName();
        $logo->move(public_path('images/logos'), $logoFile);
    }
    if ($request->hasFile('image')) {
        $image = $request->file('image');
        $imageFile = $image->getClientOriginalName();
        $image->move(public_path('images/images'), $imageFile);
    }
    Style::create([
        'lang' => $request->lang,
        'first_name' => $request->first_name,
        'last_name' => $request->last_name,
        'mobile' => $request->mobile,
        'birth_date' => $request->birth_date,
        'field_sport' => $request->field_sport,
        'coach_degree' => $request->coach_degree,
        'referee_degree' => $request->referee_degree,
        'don' => $request->don,
        'gender' => $request->gender,
        'marital_status' => $request->marital_status,
        'championship_titles' => $request->championship_titles,
        'national_code' => $request->national_code,
        'job' => $request->job,
        'style_name' => $request->style_name,
        'email' => $request->email,
        'founder' => $request->founder,
        'website' => $request->website,
        'image' => $imageFile,
        'logo' => $logoFile
    ]);
    return redirect()->back();
}

I get this error.

Array to string conversion

errors

0 likes
9 replies
Snapey's avatar

if your if statements are not entered, logofile still contains $request->logo

What is $request-logo? is it an input with multiple declared on the form element?.

Snapey's avatar
Snapey
Best Answer
Level 122

remove those two lines at the start, and change this;

'image' => isset($imageFile) ? $imageFile : NULL,
'logo' => isset($logoFile) ? $logoFile : NULL,
1 like
shahr's avatar
Level 10

This is my blade code.

<input type="hidden" value="{{ app()->getLocale() }}" name="lang">
MichalOravec's avatar

@oxbir Why do you send a lang through post request?

You can set it directly as

Style::create([
    'lang' => app()->getLocale(),
    // ...
]);

Please or to participate in this conversation.