我创建了一个Webapp,用户可以在其中上传json。之后,它应该打印出json的内容。不幸的是,我总是收到一个空数组。
这是我的JSON:
"06" : {
"fallbackLabel" : "Adelholzener Gastro Classic mit Gas",
"price" : "0.30",
"name" : "0,25l"
},
"07" : {
"fallbackLabel" : "Adelholzener Gastro Classic ohne Kohlensäure",
"price" : "0.30",
"name" : "0,25l"
}
这是我的代码:
onFileSelected(event){
this.selectedFile = event.target.files[0];
this.http.get(this.selectedFile).subscribe(data => {
console.log(this.selectedFile.text());
})
}
答案 0 :(得分:1)
HttpClient仅适用于url:您不能将文件传递给get方法(https://angular.io/api/common/http/HttpClient#get)。
您必须使用FileReader:
onFileChanged(event) {
this.selectedFile = event.target.files[0];
const fileReader = new FileReader();
fileReader.readAsText(this.selectedFile, "UTF-8");
fileReader.onload = () => {
console.log(JSON.parse(fileReader.result));
}
}