Как исправить ошибку «No 'Access-Control-Allow-Origin' header…» при аплоадинге картинки на сервер vk?

244
30 июня 2017, 08:51

Делаю веб-приложение, которое будет постить картинки в группу. По клику на кнопку открываю попап, запрашивающий разрешение на доступ приложения к фотографиям группы. В ответ приходит access_token, который я использую при вызове 'photos.getWallUploadServer'. На полученный от этого сервиса адрес делаю post-запрос с картинкой. Фрагмент кода, вызывающий ошибку:

VK.Api.call('photos.getWallUploadServer', { group_id: vk.VK_GROUP_ID, access_token: event.data.access_token}, function (answer) {
    this.$http.post(answer.response.upload_url, { photo: this.canvas.toDataURL() }).then(response => {
        console.log(response.body);
    });
}.bind(this));

Вызов 'photos.getWallUploadServer' проходит, в answer.response.upload_url приходит адрес сервера. Но при попытке запостить на него картинку в консоли получаю ошибку:

XMLHttpRequest cannot load https://pu.vk.com/c837626/upload.php?act=do_add&mid=64545962&aid=-14&gid=14…bfc2a&rhash=b0300dd7aee6d872b0397f6f508e5c57&swfupload=1&api=1&wallphoto=1. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'АДРЕС_ПРИЛОЖЕНИЯ' is therefore not allowed access.
READ ALSO
Преобразование типов для отрицательной строки

Преобразование типов для отрицательной строки

Добрый день, подскажите, почему в Javascript минус перед "строкой" превращает ее в число?

229
Добавить методы в конструктор [дубликат]

Добавить методы в конструктор [дубликат]

На данный вопрос уже ответили:

193
Найти строки соответствующие шаблону YYYY/MM/DD HH:MM(:SS)

Найти строки соответствующие шаблону YYYY/MM/DD HH:MM(:SS)

Выбрать существующие даты между 1000 и 2012 годомСекунды могут быть опущены

176