xhr.open('GET', 'url/url_filePath=mydownload.zip', true);
xhr.responseType = 'blob';
let that = this;
xhr.onload = function(e) {
if (this.status == 200) {
let data = this.response;
const blob = new Blob([data], {type: 'application/octet-stream'});
const file = new File([blob], 'mydownload.zip', {type: 'application/zip'});
that.han
that.setState((prevState, props) => {
return {
install : false
};
});
}
};
xhr.send();
我有上面的代码行来下载和上传一个zip文件。每次我尝试下载请求时,我都会收到“Access-Control-Allow-Origin”标头错误。我使用镀铬扩展来解决这个问题,但是我需要一个不需要镀铬扩展的可扩展解决方案。有什么指针吗?
答案 0 :(得分:1)
服务器发送的CORS标头基本上说明允许哪些来源从该特定服务器请求资源。来自MDN:
出于安全原因,浏览器会限制跨源HTTP请求 从脚本中启动。例如,XMLHttpRequest和Fetch 遵循同源政策。所以,一个web应用程序使用 XMLHttpRequest或Fetch只能向自己发出HTTP请求 域。
要允许您的Web应用程序从该源获取资源,服务器必须发送CORS标头。
格式应遵循:Access-Control-Allow-Origin: https://example.com
。