Поле загрузки изображения Laravel в Dashboard Ошибка: SyntaxError: Неожиданный токен <в JSON в позиции 0 - PullRequest
0 голосов
/ 12 июня 2019

Network Debug enter image description here

Я использую последнюю версию laravel, используя пользовательскую панель администратора, и я новичок в разработке laravel, так что это своего рода вопрос новичка, я пытаюсь загрузить изображение в форму, все остальные поля в форме рекламы работает нормально, за исключением поля загрузки изображений, он дает мне синтаксическую ошибку, хотя я использовал тот же код для формы сообщений, и он работает просто отлично

форма загружает изображение в папку загрузки, затем сохраняет его идентификатор и URL в базе данных-> таблица мультимедиа, а затем помещает этот же идентификатор в таблицу -> ads в столбце изображений

вот исходный код HTML-формы

                                <div class="col-sm-12">
                <label>Name - English</label>
                <div class="form-group">
                    <input type="text" name="name_en" value="" class="form-control">
                    <i class="form-group__bar"></i>
                </div>
            </div>
            <div class="col-sm-12">
                <div class="form-group">
                    <label>Description - English</label>
                    <textarea class="wysiwyg-editor" name="description_en"></textarea>
                </div>
            </div>
            <div class="col-sm-12 margin-bottom-30">
                <label>Media - English</label>
                <div class="row lightbox photos margin-bottom-30 media_sort" data-link="https://****/admin/ads/6/mediasort" data-language="en">
                                        </div>
                <div class="form-group color-picker">
                    <input type="file" class="form-control " name="media_en[]" accept=".jpg,.png,.jpeg,.webm,.mp4" multiple>
                    <i class="form-group__bar"></i>
                </div>
            </div>
                            <div class="col-sm-12">
                <label>Name - Spanish</label>
                <div class="form-group">
                    <input type="text" name="name_sp" value="" class="form-control">
                    <i class="form-group__bar"></i>
                </div>
            </div>
            <div class="col-sm-12">
                <div class="form-group">
                    <label>Description - Spanish</label>
                    <textarea class="wysiwyg-editor" name="description_sp"></textarea>
                </div>
            </div>
            <div class="col-sm-12 margin-bottom-30">
                <label>Media - Spanish</label>
                <div class="row lightbox photos margin-bottom-30 media_sort" data-link="https://*****/admin/ads/6/mediasort" data-language="sp">
                                        </div>
                <div class="form-group color-picker">
                    <input type="file" class="form-control " name="media_sp[]" accept=".jpg,.png,.jpeg,.webm,.mp4" multiple>
                    <i class="form-group__bar"></i>
                </div>
            </div>

Вот adservice.php, начиная со строки 81

        foreach ($active_languages as $language) {
        $ad->translate($language->code)->name = $request['name_' . $language->code] ? $request['name_' . $language->code] : $request['name_en'];
        $ad->translate($language->code)->description = $request['description_' . $language->code];
        $ad->translate($language->code)->excerpt = $request['excerpt_' . $language->code];

        $media_key = null;

        if ($request->hasFile('media_' . $language->code)) {
            $media_key = 'media_' . $language->code;
            }
        if ($media_key) {
            $media = $this->mediaService->upload($request, $media_key);
            if (count($media)) {
                $media_array = [];
                foreach ($media as $m) {
                    $m->authorable_type = \get_class(Auth::user());
                    $m->authorable_id = Auth::user()->id;
                    $m->save();
                    $media_array[] = $m->id;
                }
                $old_images = (array) (\json_decode($ad->translate($language->code)->images, true));
                $media_array = \array_merge($old_images, $media_array);
                $ad->translate($language->code)->images = \json_encode($media_array);
            }
        } else {
            if (!empty($request['images_' . $language->code])) {
                $media_key = ('images_' . $language->code);
            }
            if ($media_key) {
                $ad->translate($language->code)->images = \json_encode(explode(',', $request[$media_key]));
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...