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()
,它们应该可以工作。
我有很多不同名称的输入文件,但是当我上传时只有一个文件被保存,这是为什么?
_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()
,它们应该可以工作。