Как сделать загрузку нескольких img в laravel?

377
22 марта 2017, 19:18

Есть вот такой вот код загрузки img: routes/web.php

Route::get('imageupload','ImageController@imageUpload');
Route::post('imageupload','ImageController@imageUploadPost');

Контроллер:

class ImageController extends Controller
{   
public function imageUpload()
{
    return view('imageupload');
}
public function imageUploadPost(Request $request)
{
    $this->validate($request, [
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    $imageName = time().'.'.$request->image->getClientOriginalExtension();
    $request->image->move(public_path('images'), $imageName);
    return back()
        ->with('success','Image Uploaded successfully.')
        ->with('path',$imageName);
}        }

Вьюха:

<div class="panel-body">
                </ul>
            </div>
        @endif
        @if ($message = Session::get('success'))
            <div class="alert alert-success alert-block">
                <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>{{ $message }}</strong>
            </div>
            <img src="/images/{{ Session::get('path') }}">
        @endif
        <form action="{{ url('imageupload') }}" enctype="multipart/form-data" method="POST">
            {{ csrf_field() }}
            <div class="row">
                <div class="col-md-12">
                    <input type="file" name="image" />
                </div>
                <div class="col-md-12">
                    <button type="submit" class="btn btn-success">Upload</button>
                </div>
            </div>
        </form>
            <form action="{{ url('imageupload') }}" enctype="multipart/form-data" method="POST">
                {{ csrf_field() }}
                <div class="row">
                    <div class="col-md-12">
                        <input type="file" name="image" />
                    </div>
                    <div class="col-md-12">
                        <button type="submit" class="btn btn-success">Upload</button>
                    </div>
                </div>
            </form>
    </div>

Загружает только один img... Что мне мне нужно исправить, чтоб загрузить несколько картинок одновременно? Помогите, пожалуйста, разобраться!

Answer 1

Сама форма будет выглядеть так:

 <form action="{{ url('imageupload') }}" enctype="multipart/form-data" method="POST">
        {{ csrf_field() }}
        <div class="row">
            <div class="col-md-12">
                <input type="file" name="images[]" />
                <input type="file" name="images[]" />
            </div>
            <div class="col-md-12">
                <button type="submit" class="btn btn-success">Upload</button>
            </div>
        </div>
    </form>

А контроллер, скорее всего, как то так должен выглядеть :

class ImageController extends Controller
{
    public function imageUpload()
    {
        return view('imageupload');
    }
    public function imageUploadPost(Request $request)
    {
        $paths = [];
        foreach($request->images as $image) {

            $this->validate($image, [
                'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
            ]);
            $imageName = time() . '.' . $image->getClientOriginalExtension();
            $image->move(public_path('images'), $imageName);
            $paths[] = $imageName;
        }

        return back()
            ->with('success', 'Image Uploaded successfully.')
            ->with('paths', $paths);
    }
}
READ ALSO
Virtuemart вывод дополнительных полей

Virtuemart вывод дополнительных полей

Помогите вывести дополнительные поляВывожу поля на странице категории кодом

396
Не могу настроить htaccess на субдиректорию

Не могу настроить htaccess на субдиректорию

Здравствуйте, есть проект на yii framework, в нем есть папка, в которой лежит отдельный проект со своим репозиториемПри заходе на project

302
Замена в строке регуляркой

Замена в строке регуляркой

Пытаюсь заменить в строке найденные вхождения регуляркой но не совсем получается то что нужно

355
sql иньекция как исправить?

sql иньекция как исправить?

Скажите пожалуйста как иправить sql иньекцию, если $message будет "qwe'; DROP TABLE sel_category; --"

397