truman55
@truman55
Frontend developer / Hearst Shkulev Digital

Можно ли загрузить base64 или blob в wordpress галерею?

Пишу свой маленький плагин для подстановки картинок в слайдер через админку. В админке перед загрузкой прикрутил кроппер изображений, который умеет обрезать фото в нужном мне разрешении. На выходе получается либо blob, либо base64. Но вот загвоздка, функция media_handle_upload, через которую я грузил фото без кроппера, не умеет обрабатывать то, что я сейчас ей отдаю. Может кто знает, как это реализовать, или хотя бы ткнет носом в нужную функцию. Заранее благодарен.
  • Вопрос задан
  • 497 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Засунуть
Blob в File
https://stackoverflow.com/questions/27159179/how-t...
потом в https://developer.mozilla.org/ru/docs/Web/API/FormData
и отправить ajax как форму.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Насколько мне известно, так не получится. Функция media_handle_upload() обрабатывает POST запрос, и принимает индекс из массива $_FILES. Далее она передает $_FILES['индекс'] по ссылке на функцию wp_handle_upload(), которая в свою очеред отправляет на _wp_handle_upload(), которая уже выполняет проверку конкретного загруженного файла во временной папке, валидирует его и перемещает в папку загрузок. После чего создает запись типа 'attachment' и пишет все необходимые данные и связи.

Это что касается "что WP там делает под капотом". Что же касается вашей задачи - не совсем понятно что вы пытаетесь сделать и зачем. Если вы хотите хранить кропнутую картинку в БД в base64 / blob, вместо файловой системы и медиа-библиотеки, то зачем вам вообще media_handle_upload? Насколько я понял, у вас уже есть необходимые данные, осталось просто записать их в БД. Сделайте свою таблицу, пишите их туда и привязывайте внешним ключом к нужной записи (слайдеру, если я правильно вас понял).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы