Как вы знаете, мы не можем получить url
на стороне клиента из-за CORS
. Я пытаюсь создать функцию, которая будет получать файл для меня с правильными заголовками в качестве агента и возвращать его клиенту.
Итак, на Firebase Function
:
exports.urlToBlob = functions.https.onRequest((request,response) => {
cors(request, response, () => {
var url = "https://..."; //request.query.url;
fetch (
url,
{
method: 'GET',
headers: { 'Accept': '*/*' }
}
)
.then ((res) => {console.log(res);return res;})
.catch((err) => response.status(400).send(err))
});
});
Я вижу, что он получит доступ к URL-адресу и получит ответ в оболочке simulator , но не в браузере, который ничего не вернет.
Клиент предполагает доступ к нему с помощью:
var url = "https://us-central1-myproject-6xxxx.cloudfunctions.net/urlToBlob";
$.get(
url,
{url :imgurl, platform : 'xxx'},
function(data) {
console.log(data);
}
);
Я знаю, что делаю это неправильно, но мне нужно найти способ использовать эту функцию для решения CORS
.