Сохранить строку в кодировке base64 в указанной папке

Добрый день! Я просто хочу поместить захваченное изображение в указанную папку, а не в саму базу данных посредством вызова ajax. Вот что я сделал:

Файл JS:

$ ('# btn-save-snapshot'). on ('click', function () {

Webcam.snap (функция (data_uri)
{

$ .Ajax ({
url: '/ capture',
тип: 'POST',
данные:
{
Captimage: data_uri
},
успех: функция (данные)
{
предупреждение ( 'Saved!');
},
ошибка: функция (xhr)
{
предупреждение (. $ parseJSON (xhr.responseText) [ 'ошибка'] [ 'сообщение']);
}
});
});
});

Я не знаю, как сохранить его в указанной папке. Я уже использовал Input :: file (‘captimage’) -> move ($ destination) на контроллере, но он не работает.

0

Решение

Вы получаете только строку, а не само изображение (обычно base64-формат). Итак, что вам нужно сделать, это отправить информацию в отдельный файл php, а затем использовать file_put_contents сохранить изображение. Перед сохранением необходимо удалить префикс.

Так что вы могли бы сделать что-то подобное 🙁 Если вы вернетесь base64-string):

file_put_contents('/capture/img.jpg', base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST['captImage'])));

Если это не base64, пожалуйста, опубликуйте результат, так что содержание вашего captImage-переменный.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]