Это код, за которым я следую.
storageRef.child('images/stars.jpg').getDownloadURL().then(function(url) {
// 'url' is the download URL for 'images/stars.jpg'
// This can be downloaded directly:
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function(event) {
var blob = xhr.response;
};
xhr.open('GET', url);
xhr.setRequestHeader('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
xhr.setRequestHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
xhr.send();
// Or inserted into an <img> element:
var img = document.getElementById('myimg');
img.src = url;
}).catch(function(error) {
// Handle any errors
});
Но я не могу загрузить файл изображения, так как он говорит:
В запрошенном ресурсе нет заголовка "Access-Control-Allow-Origin". Происхождение ' http://localhost: 8000 ', следовательно, не допускается.
Тем не менее, мне удалось отобразить изображение в моем теге img
. Было бы хорошо, если бы я мог загрузить его также.
Я использую localhost для запуска этого.
Обновлено: Это новая ошибка:
Поле заголовка запроса. Access-Control-Allow-Origin не разрешено заголовками Access-Control-Allow-Headers в предполетном ответе.
Вы должны добавить заголовки на свой сервер:
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers', 'Content-Type');
Например, это позволит использовать все домены для указанных методов и заголовков.