Кто ставил croppie? как передать через метод пост изменённую картинку
Цена договорная
Croppie - для обрезки фото в реальном времени.
Поставил, настроил под себя, все работает, через метод пост с формы передаю картинку в бд, проблем нет, но передает не измененную картинку, надо как-то через js передавать в контроллер.
Но я пока не могу понять, как передать, в js пробовал чет делать, но не вышло.
Все по сути готово, надо только отправить измененную фотку.
Конфиг Croppie
<script>
var croppieDemo = $('#croppie-photo').croppie({
enableOrientation: true,
showZoomer: true,
enableResize: true,
mouseWheelZoom: 'ctrl',
viewport: {
width: 250,
height: 250,
type: 'rawcanvas'
},
boundary: {
width: '100%',
height: 300
}
});
//кнопка выбрать фото
$('#croppie-input').on('change', function() {
var reader = new FileReader();
reader.onload = function(e) {
croppieDemo.croppie('bind', {
url: e.target.result
});
}
$('#opnfoto').show();
reader.readAsDataURL(this.files[0]);
});
</script>
Далее валидация для формы: через которую я передаю данные в контроллер.
<script>
$(document).on('submit', '#validform', function(e) {
e.preventDefault();
$('#validform .ax-result').removeClass('successform error').html('');
let formLoad = new FormData($(this)[0]);
//ТУТ Я ПРОБОВАЛ ПЕРЕДАТЬ ИЗМЕНЕННУЮ ФОТКУ
croppieDemo.croppie('result', {
type: 'blob', //rawcanvas, html
format: 'png'
}).then(function(resimg) {
//formLoad.set("images[]", resimg, 'fileName');
formLoad.append('images[]', resimg, 'fileName');
});
App.sendAx('/ax/dkd/send', formLoad, {
silence: true,
successFunction: function(d) {
$('#validform .ax-result').removeClass('successform error').addClass('successform').html(d.message);
$('#validform .ax-form').hide();
const el = document.getElementById('goer');
el.scrollIntoView({
behavior: "smooth"
});
},
errorFunction: function(d) {
$('#validform .ax-result').removeClass('successform error').addClass('error').html(d.message);
$('#validform .ax-form').show();
}
});
});
</script>
Задача простая, осталось передать измененную картинку, то чего я не могу сделать сам.
Цена договорная, предлагайте ваши варианты.
Поставил, настроил под себя, все работает, через метод пост с формы передаю картинку в бд, проблем нет, но передает не измененную картинку, надо как-то через js передавать в контроллер.
Но я пока не могу понять, как передать, в js пробовал чет делать, но не вышло.
Все по сути готово, надо только отправить измененную фотку.
Конфиг Croppie
<script>
var croppieDemo = $('#croppie-photo').croppie({
enableOrientation: true,
showZoomer: true,
enableResize: true,
mouseWheelZoom: 'ctrl',
viewport: {
width: 250,
height: 250,
type: 'rawcanvas'
},
boundary: {
width: '100%',
height: 300
}
});
//кнопка выбрать фото
$('#croppie-input').on('change', function() {
var reader = new FileReader();
reader.onload = function(e) {
croppieDemo.croppie('bind', {
url: e.target.result
});
}
$('#opnfoto').show();
reader.readAsDataURL(this.files[0]);
});
</script>
Далее валидация для формы: через которую я передаю данные в контроллер.
<script>
$(document).on('submit', '#validform', function(e) {
e.preventDefault();
$('#validform .ax-result').removeClass('successform error').html('');
let formLoad = new FormData($(this)[0]);
//ТУТ Я ПРОБОВАЛ ПЕРЕДАТЬ ИЗМЕНЕННУЮ ФОТКУ
croppieDemo.croppie('result', {
type: 'blob', //rawcanvas, html
format: 'png'
}).then(function(resimg) {
//formLoad.set("images[]", resimg, 'fileName');
formLoad.append('images[]', resimg, 'fileName');
});
App.sendAx('/ax/dkd/send', formLoad, {
silence: true,
successFunction: function(d) {
$('#validform .ax-result').removeClass('successform error').addClass('successform').html(d.message);
$('#validform .ax-form').hide();
const el = document.getElementById('goer');
el.scrollIntoView({
behavior: "smooth"
});
},
errorFunction: function(d) {
$('#validform .ax-result').removeClass('successform error').addClass('error').html(d.message);
$('#validform .ax-form').show();
}
});
});
</script>
Задача простая, осталось передать измененную картинку, то чего я не могу сделать сам.
Цена договорная, предлагайте ваши варианты.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.