服务器响应提供给成功和错误回调subscribe()
:
onSubmit(): void {
this.inputModuleService.postFile(this.files).subscribe(
response => {
//response is the server's response, parsed into a javascript object
console.log('server responded: ', response);
},
error => {
//server response emitted when xhr.status !== 200
console.error(error);
}
);
}
这行:
formData.append("upload", files[i], files[i].name);
会抛出错误,因为i
未定义。您复制的代码在循环内包含该行并且i
是当前索引。您的代码中并非如此。
您的函数声明:
postFile (files: File[]): Observable<string>
应该改为
postFile (files: File[]): Observable<any>
因为 Observable 返回的是postFile
发出对象,而不是字符串。
如果您只想上传一个文件,您还应该更改files: File[]
to file: File
并在文件中附加:
formData.append("upload", file, file.name);