Залить фото Post запросом Есть решение

Создаю шаблон на зеннопостере для заполнения товаров в интернет магазин, заполнил все поля которые потребовались, вопрос встал как залить фото на товар одной командой из административной части магазина, наверное это называется Get запросом не особо силен в этом. При выборе картинки товара кликам мышки открывается окно операционной системы для выбора пути фотографии которую следует залить, а не по браузерным окошкам зеннопостер не умеет щелкать). Зарание спасибо большое!

1 ответ

    • +1
      Евгений Медведев Евгений Медведев 30 ноября 2016 15:32 #

      Написал вот такой Post запрос, но что-то ответ приходит invalid_method Неизвестный метод API. Подскажите в чем может быть причина? Возможно я указываю неправельно путь в файлу?

      http://мой сайт.ru/api.php?app=shop&method=shop.product.images.add&product.images.add&product_id=59&file=C:\Program Files(x86)\ZennoLab\ZennoPoster Pro\Progs\Trash\278.jpg&access_token=токен

      • +2
        Михаил Ушенин Михаил Ушенин Webasyst 30 ноября 2016 16:40 #

        Содержимое файла должно отправляться POST-запросом, а вы пытаетесь передать локальный путь к нему в GET-запросе. В качестве аргумента $file нужно передавать один или несколько файлов изображений с помощью элемента веб-формы с атрибутом enctype="multipart/form-data" и значением атрибута name="file" для элемента выбора файлов input type="file".

        • +1
          Евгений Медведев Евгений Медведев 30 ноября 2016 18:31 #

          Михаил, извините за такие вопросы, но не могли бы вы написать пример POST запроса через API на добавление картинки товара, допустим надо добавить 1 картинку и эта картинка товара лежит на локальном диске C:\113.JPG

          Я по жизни практик, надо сперва увидеть потом сам пойму логику.

          Огромное спасибо!

          • +2
            Николай Иванов Николай Иванов 1 декабря 2016 07:52 #

            http://blog.megazubr.ru/2015/07/shop-script-apiv1....
            Чисто для примера. На истину не претендует.

            • +1
              Евгений Медведев Евгений Медведев 1 декабря 2016 09:24 #

              все должно быть проще, мне нужно только действие заливки фото к ID товару.

              Хотелось бы реальный пример...

              • +1
                Николай Иванов Николай Иванов 1 декабря 2016 09:45 #

                Волшебной кнопки "сделать зашибись" не существует.
                Загрузить картинку через get напрямую - невозможно.
                Как вариант, если вы сделаете прокладку в виде скрипта, который будет как-то обрабатывать ваш get-запрос и пихать картинку в товар(через классы шопскрипта, напрямую, через апи и пр.).
                Или с использованием командной строки и curl-а(или его аналогов).

                • +1
                  Евгений Медведев Евгений Медведев 1 декабря 2016 10:02 #

                  Сторонний скрипт используется вот этот

                  http://zennolab.com/wiki/ru:actions:http

                  Выбираю POST запрос во вкладке URL прописываю API что куда дальше прописывать не знаю, этим же скриптов заполняю все нужные характеристики товара методами клика в нужной форме и ее заполнения, а вот с фотографией такой фокус не проходит, есдинственный способ наверное через API. Товара очень много и руками это делать не реально.

                  • +1
                    Николай Иванов Николай Иванов 1 декабря 2016 14:25 #

                    в урл - http://мой сайт.ru/api.php?app=shop&method=shop.product.images.add&product.images.add&product_id=ТУТ_ID_ТОВАРА&access_token=ТОКЕН

                    и указываете что загружаете файл с типом данных multipart

                    По моему, этого будет достаточно.

                    • +1
                      Евгений Медведев Евгений Медведев 2 декабря 2016 11:15 #

                      Записал все в экшен POST-запроса

                      получилось вот так


                      При POST запроса возвращается ответ в файле api.php

                      содержание:{"error":"invalid_method","error_description":"Unknown method: shop.shop.product.images.add"}

                      • +1
                        Николай Иванов Николай Иванов 2 декабря 2016 17:11 #

                        Евгений, я вам дал наводку, дальше попробуйте разобраться сами.
                        Разбираться с ошибками и нюансами работы абсолютно не нужной мне системы - нет ни желания ни времени. Прошу понять и простить -)

            • +1
              badhed badhed 19 сентября 2017 17:56 #

              Отличный работающий пример. Что интересно изображение по url заливается отлично

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите