Код кадрирования изображения в Symfony 3.3 хорошо работает на локальном хосте, но не работает на живом веб-сайте

Итак, я недавно просмотрел учебное пособие и создал на веб-сайте функцию кадрирования и загрузки изображений. В моем случае у меня есть: -

  a. Title
  b. Description
  c. Image
  d. Date

Первоначально я делал то же самое, что и в учебнике, когда щелкают по файлу, изображение будет смонтировано в модальном Bootstrap 4, где есть функция для обрезки. Основная проблема заключалась в том, что когда я нажимал на кнопку обрезки, ajax использовал для запуска и сохранения всех данных в базе данных. Позже я изменил JavaScript, чтобы при нажатии кнопки кадрирования отображалось обрезанное изображение, и, наконец, кнопка «Отправить» сохраняла все данные в базе данных. Эта функция хорошо работает в Localhost, но когда я обновил свой веб-сайт, похоже, что эти функции не работают.

Код JavaScript:

 $('.crop_image').click(function(event){
$image_crop.croppie('result', {
  type: 'canvas',
  size: 'viewport'

}).then(function(response){
    $('#uploadimageModal').modal('hide');
    $("#previewImg").attr('src', response);
    getResponse = response;
});

$('#upload_btn').on('click',function(){


            var block = getResponse.split(";");
            // Get the content type
            var contentType = block[0].split(":")[1];// In this case "image/gif"
            // get the real base64 content of the file
            var realData = block[1].split(",")[1];// In this case "iVBORw0KGg...."

            // Convert to blob
            var blob = b64toBlob(realData, contentType);

            let formData = new FormData(form);
            formData.append('image_path', blob);
            $.ajax({

            url: "{{ path('app_bundle_route') }}",
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            headers: {'X-Requested-With':'XMLHttpRequest'},
            success:  function(data){


                $("#previewImg").attr('src', getResponse);
            }
          });

Контроллер:

/**
 * @Security("is_granted('ROLE_ADMIN')")
 * @Route("/form", name = "form")
 */
public function indexAction(Request $request) {
    $members = new members();
    $form = $this->createForm(event::class, $members);

    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {

            return $this->redirectToRoute('dev');
    }
    return $this->render('admin/create.html.twig', [
                'form' => $form->createView()
    ]);
}

/**
* @Security("is_granted('ROLE_ADMIN')")
* @Route("/getImage", name = "getImage")
* @Method({"POST"})
*/

public function getImageAction(Request $request){

            $members = new members();
              $form = $this->createForm(event::class, $members);

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()){


                if ($request->isXmlHttpRequest()){
                  /** @var Symfony\Component\HttpFoundation\File\UploadedFile $file */
                $file = $request->files->get('image_path');
                //$file = $form->get('image_path');



                $filename = md5(uniqid()).'.'.$file->guessExtension();

                $file->move($this->getParameter('event_directory'), $filename);

                $title = $form['title']->getData();
                $description = $form['description']->getData();
                $date = $form['date']->getData();

                $members->setImagePath($filename);
                $members->setTitle($title);
                $members->setDescription($description);
                $members->setDate($date);
                $em = $this->getDoctrine()->getManager();
                $em->persist($members);
                $em->flush();
                $this->addFlash(
                        'notice', 'Event Added!!'
                );
            }                
        }
        return new JsonResponse("This is Ajax");
 }

Я несколько раз удалял кеш, но не работал. Точный код работает в Localhost.

Возможно какой-то пакет не установлен. Проверьте, установлен ли php-gd на сервере. Установите php-gd с помощью команды sudo apt-get install php-gd, чтобы установить пакет. Проверить лог на сервере. Я могу показать, что произошла ошибка.

Nightfox 05.11.2018 14:35

Я не думаю, что эта строка будет работать `url:" {{path ('app_bundle_route')}} ",` вам нужно использовать FOSJSRouting

famas23 06.11.2018 05:47

Ахмед, URL в порядке. Как я уже сказал, ajax сохранял данные раньше, но после того, как я перешел на on click, проблема возникла там. В Localhost это нормально, но на живом сайте код не дает никакого эффекта. Но в любом случае попробую и FOSJ. Посмотрим ..

user9368003 07.11.2018 05:16
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
171
0

Другие вопросы по теме