Laravel 8 - 使用不同的输入同时上传多个文件

Laravel 8 - Upload multiple files at the same time with different inputs

我有很多不同名称的输入文件,但是当我上传时只有一个文件被保存,这是为什么?

_form.blade.php :

<input type="file" name="tampak_depan" class="form-control"/>
<input type="file" name="tampak_kiri_depan" class="form-control"/>
<input type="file" name="tampak_kanan_depan" class="form-control"/>
<input type="file" name="tampak_belakang" class="form-control"/>

Controller.php :

正视图:

$tampak_depan = $request->file('tampak_depan');
    if($tampak_depan !== null) {
        $art->tampak_depan = time().'_tampak_depan_'.$tampak_depan->getClientOriginalName();
    }
    if($tampak_depan !== null) {
        $path = 'image/asuransi-kendaraan-bermotor/';
        if($tampak_depan->move($path,$art->tampak_depan) == false) {
            print $tampak_depan->getErrorMessage();
            die;
        }
    }

左前视图:

$tampak_kiri_depan = $request->post('tampak_kiri_depan'); 
    if($tampak_kiri_depan !== null) {
        $art->tampak_kiri_depan = time().'tampak_kiri_depan'.$tampak_kiri_depan->getClientOriginalName();
    }
    if($tampak_kiri_depan !== null) {
        $path = 'image/asuransi-kendaraan-bermotor/';
        if($tampak_kiri_depan->move($path,$art->tampak_kiri_depan) == false) {
            print $tampak_kiri_depan->getErrorMessage();
            die;
        }
    }

右前视图:

$tampak_kanan_depan = $request->post('tampak_kanan_depan');
    if($tampak_kanan_depan !== null) {
        $art->tampak_kanan_depan = time().'tampak_kanan_depan'.$tampak_kanan_depan->getClientOriginalName();
    }
    if($tampak_kanan_depan !== null) {
        $path = 'image/asuransi-kendaraan-bermotor/';
        if($tampak_kanan_depan->move($path,$art->tampak_kanan_depan) == false) {
            print $tampak_kanan_depan->getErrorMessage();
            die;
        }
    }

后视图:

$tampak_belakang = $request->post('tampak_belakang');
    if($tampak_belakang !== null) {
        $art->tampak_belakang = time().'tampak_belakang'.$tampak_belakang->getClientOriginalName();
    }
    if($tampak_belakang !== null) {
        $path = 'image/asuransi-kendaraan-bermotor/';
        if($tampak_belakang->move($path,$art->tampak_belakang) == false) {
            print $tampak_belakang->getErrorMessage();
            die;
        }
    }

看起来您在第一个示例中使用了正确的函数,但在其他示例中使用了错误的函数。

在 'tampak depan' 中,您使用的是 $request->file(),但在其他中,您使用的是 $request->post()

将它们更改为 $request->file(),它们应该可以工作。