Get filename of failed uploaded file in laravel 5.4

早过忘川 提交于 2020-07-05 12:50:09

问题


How do i get the filename of failed uploaded file and pass it on validation error message. Ex: "The file.0 must be 1024 kilobytes." be like "The failed-file-sample.jpg must be 1024 kilobytes."

Here's the sample code arrangement:

$messages = [
    'mimes' => 'File(s) must be of type: :values.',
    'size'   => 'The ' .  $request->file('file_field')->getClientOriginalName() . ' must be :size kilobytes.'
];

$this->validate(
    request(), 
    ['file_field' => 'bail|required|mimes:gif,jpg,jpeg,png|size:1024'], 
    $messages
);

Thanks in advanced.


回答1:


Use:

$validationArray = [];
foreach ($request->file('file_field') as $key => $file) {
    $validationArray['file_field.'.$key.'.size'] => 'The ' .  $file->getClientOriginalName() . ' must be 1024 kilobytes.'; 
}
$messages = [
    'file_field.*.mimes' => 'File(s) must be of type: :values.',
     $validationArray
];
$this->validate(
    $request, 
    [
        'file_field' => 'bail|required|array',
         'file_field.*' => 'mimes:gif,jpg,jpeg,png|size:1024'
    ], 
$messages);


来源:https://stackoverflow.com/questions/51628951/get-filename-of-failed-uploaded-file-in-laravel-5-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!