Залить фото Post запросом Есть решение
Создаю шаблон на зеннопостере для заполнения товаров в интернет магазин, заполнил все поля которые потребовались, вопрос встал как залить фото на товар одной командой из административной части магазина, наверное это называется Get запросом не особо силен в этом. При выборе картинки товара кликам мышки открывается окно операционной системы для выбора пути фотографии которую следует залить, а не по браузерным окошкам зеннопостер не умеет щелкать). Зарание спасибо большое!
17 ответов
через API.
https://developers.webasyst.ru/api/explorer/shop/s...
Написал вот такой 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=токен
Содержимое файла должно отправляться POST-запросом, а вы пытаетесь передать локальный путь к нему в GET-запросе. В качестве аргумента $file нужно передавать один или несколько файлов изображений с помощью элемента веб-формы с атрибутом enctype="multipart/form-data" и значением атрибута name="file" для элемента выбора файлов input type="file".
Михаил, извините за такие вопросы, но не могли бы вы написать пример POST запроса через API на добавление картинки товара, допустим надо добавить 1 картинку и эта картинка товара лежит на локальном диске C:\113.JPG
Я по жизни практик, надо сперва увидеть потом сам пойму логику.
Огромное спасибо!
http://blog.megazubr.ru/2015/07/shop-script-apiv1....
Чисто для примера. На истину не претендует.
все должно быть проще, мне нужно только действие заливки фото к ID товару.
Хотелось бы реальный пример...
Волшебной кнопки "сделать зашибись" не существует.
Загрузить картинку через get напрямую - невозможно.
Как вариант, если вы сделаете прокладку в виде скрипта, который будет как-то обрабатывать ваш get-запрос и пихать картинку в товар(через классы шопскрипта, напрямую, через апи и пр.).
Или с использованием командной строки и curl-а(или его аналогов).
Сторонний скрипт используется вот этот
http://zennolab.com/wiki/ru:actions:http
Выбираю POST запрос во вкладке URL прописываю API что куда дальше прописывать не знаю, этим же скриптов заполняю все нужные характеристики товара методами клика в нужной форме и ее заполнения, а вот с фотографией такой фокус не проходит, есдинственный способ наверное через API. Товара очень много и руками это делать не реально.
в урл - http://мой сайт.ru/api.php?app=shop&method=shop.product.images.add&product.images.add&product_id=ТУТ_ID_ТОВАРА&access_token=ТОКЕН
и указываете что загружаете файл с типом данных multipart
По моему, этого будет достаточно.
Записал все в экшен POST-запроса
получилось вот так
При POST запроса возвращается ответ в файле api.php
содержание:{"error":"invalid_method","error_description":"Unknown method: shop.shop.product.images.add"}
Евгений, я вам дал наводку, дальше попробуйте разобраться сами.
Разбираться с ошибками и нюансами работы абсолютно не нужной мне системы - нет ни желания ни времени. Прошу понять и простить -)
Отличный работающий пример. Что интересно изображение по url заливается отлично
Добрый день! Надеюсь кто-то сможет помочь. Прочитал все тикеты на тему добавления фото товара через
shop.product.images.add
Но так и не проходит мой запрос.
Получаю {"error":"server_error","error_description":"No file uploaded."}
Что только не пробовал. Второй день попыток, и я никак не могу решить. Кто-то сможет подсказать как построить запрос на php curl пожалуйста?
Последний вариант такой:
В файл дата непосредственно, сам файл: http://joxi.ru/zANepP5H1kqlZ2
в последних версиях php файл передается как объект класса CURLFile + удалить опции CURLOPT_HTTPHEADER и CURLOPT_INFILESIZE
У меня версия 7.4
Так вроде как по тикетам всем на форуме написано что должен быть заголовок:
читай описание к CURLOPT_POSTFIELDS
Спасибо огромное за подсказки! Разобрался, здесь все ок. Если кому будет нужно запрос такой на php 7.4
В $queryData[1] путь к скачаному файлу на сервере.