我已将此库用于angular2文件上传https://github.com/valor-software/ng2-file-upload
现在我上传文件时出现此错误
XMLHttpRequest无法加载http://localhost:8080/files。对预检请求的响应未通过访问控制检查:当请求的凭据模式为“包含”时,响应中的“Access-Control-Allow-Origin”标头的值不能是通配符“*”。因此,不允许原点“http://localhost:3000”访问。 XMLHttpRequest发起的请求的凭证模式由withCredentials属性控制。
答案 0 :(得分:16)
在上传项目之前设置withCredentials = false
。您可以将此代码放在ngOnInit
/ constructor
或ngOnChanges
中。
this.uploader.onBeforeUploadItem = (item) => {
item.withCredentials = false;
}
答案 1 :(得分:1)
您的服务器正在使用以下CORS Header
'Access-Control-Allow-Credentials' = true
这是CORS
提供的安全性,您不能这样做。如果您要允许凭据,则无法使用Access-Control-Allow-Origin
= *。您必须指定确切的域。尝试指定
localhost:<portnumber>
有关更多信息,请查看以下链接
答案 2 :(得分:0)
您可以尝试以下方法:
ngAfterViewInit() {
this.uploader.onAfterAddingFile = (item => {
item.withCredentials = false;
});
}