Uploadcare неправильно обрезается

Попытка вызвать функцию uploadcare php с помощью вызова jquery ajax, и я получаю все, чтобы работать нормально, за исключением выбранной пользователем области обрезки. Он обрезает до правильного рациона, но по умолчанию все время остается сверху слева.

Чего мне не хватает, чтобы передать выбранную пользователем область обрезки?

Вот код jQuery, который запускает скрипт

$(function() {
$('#avatar-uc').each(function() {
$("#avatar-uc").find('.uploadcare-widget-button-open').html('<i class="fa fa-camera"></i> Edit Photo');
$("#avatar-uc").find('.uploadcare-widget-button-remove').html('<i class="fa fa-camera"></i> Edit Photo');
WidgetResetAvatar(
uploadcare.SingleWidget($(this).children('input'))
);
});
});
function WidgetResetAvatar(widget) {
widget.onChange(function(file) {
if (file) {
file.done(function(fileInfo) {
$.ajax({
url: '/asset/create/avatar',
method: 'POST',
disablePreview: true,
headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')},
data: {uuid: fileInfo.uuid},
})
.done(function( data ) {
$('#avatarPhoto').css('background-image', 'url("'+data.avatar_url+'")')
});
});
}
widget.value(null)
});
}

И функция PHP

public function CreateAvatar(Request $request)
{
if (!Auth::check()) {
return Response::json(array('message' => 'not logged in'));
}

$user = Auth::user();

if ($request->ajax()) {
if (!empty($request->uuid)) {
$api = app()->uploadcare;
$original_file = $api->getFile($request->uuid);
$cropped_file = $original_file->crop(150,150)->copy();
$cropped_file->store();
$cropped_file_url = $cropped_file->data['original_file_url'];
$upload_url = "https://ucarecdn.com";
$remove_upload_care_url = "";
$cropped_file_path = str_replace($upload_url,
$remove_upload_care_url, $cropped_file_url);
}
else {
$cropped_file_path = "";
}

$user->avatar = $cropped_file_path;
$user->save();

return Response::json(['avatar_url' => $cropped_file_url]);
}
}

0

Решение

По какой-то причине растениеводство () функция не принимает координаты для области обрезки, просто центрировать ее или нет (см. код).

Самый простой способ — создать URL рукой. Бонусные баллы за отправку PR в библиотеку за прием координат.

0

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

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

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