В моем приложении Vue есть загрузчик изображений, который принимает несколько файлов. Я хочу убедиться, что они являются изображениями и имеют определенный размер, и если нет, то, очевидно, не загружайте файлы, и внешний интерфейс отображает ошибку. Прямо сейчас маршрут, по которому он попадает в контроллер, выглядит примерно так:
public function uploadAssets(UploadAssetsFormRequest $request)
{
if ($request->hasFile('file')) {
$files = $request->file('file');
$stack = [];
foreach ($files as $file) {
$fileName = Storage::put('/check/', file_get_contents($file->getRealPath()), ['visibility' => 'public']);
array_push($stack, $fileName);
}
return response()->json($stack);
}
}
Мой запрос формы находится ниже и имеет проверку, но я не знаю, как применить это в контроллере.
UploadAssetsFormRequest
<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
class UploadAssetsFormRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'files.*' => 'required|image|max:1000',
];
}
public function messages()
{
return [
'files.*.max' => 'The image is too large',
'files.*.image' => 'Only image files are allowed.',
];
}
}