Я использую fabric.js для рисования аннотаций на странице. Теперь я хочу сохранить незагруженную страницу как есть, а не перерисовывать все элементы на стороне сервера с помощью JSON.canvas toDataURL() - операция небезопасна
У меня есть основное изображение загружается как:
function redrawPage(src) {
var deferred = $q.defer();
fabric.Image.fromURL(src, function (img) {
zoom.reset();
transformation.reset();
mainImage = img;
mainImage.set({
left: 0,
top: 0
});
mainImage.hasRotatingPoint = true;
mainImage.selectable = false;
canvas.clear();
canvas.setWidth(mainImage.getWidth());
canvas.setHeight(mainImage.getHeight());
canvas.add(mainImage);
canvas.renderAll();
deferred.resolve();
});
return deferred.promise;
}
и когда я хочу, чтобы отправить данные холст изображения должны быть сохранены в виде аннотированных версии оригинального изображения, я получаю «Операция небезопасна» ошибка.
function getImageData() {
var context = canvas.getContext('2d'),
imageData = context.getImageData(0, 0, canvas.width, canvas.height);
return imageData.data;
}
веб-сервер, с которого я загружаю изображения не позволяет crossOrigin установлен в положение «Anonymus»
Изображения отображаются в моем поддомене http // api.mdomain.com, но я не могу разрешить доступ к анонимному доступу CORS для всех запросов из соображений безопасности – dzona
'' Сервер: сервер должен быть настроен для возврата заголовка (s), указывающий, что ответ содержит авторизованный контент. «Не могли бы вы дать мне пример того, как настроить сервер для достижения этого? – dzona
Я собирался сказать :-) ... Помимо анонимного доступа вы также можете установить свое изображение сервер для доставки в авторизованные пункты назначения. Если ваш дизайн позволяет давать учетные данные вашим авторизованным клиентам, вы можете использовать изображения, совместимые с кросс-оригиналами, с учетными данными. Вот [авторитетная ссылка на настройку серверов с поддержкой CORS] (http://enable-cors.org/index.html). – markE