I am using ng2-file-upload in angular 4. Is there any way to return custom data from server? How would we access it in ts file?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You should be using uploader onSuccessItem and onErrorItem callbacks:
import { Component } from '@angular/core';
import {FileUploader, FileItem, ParsedResponseHeaders} from "ng2-file-upload";
@Component({
selector: 'upload-file',
template: `
<input type="file" ng2FileSelect [uploader]="uploader">
`,
})
export class UploadFileComponent {
uploader:FileUploader;
ngOnInit(): void {
this.uploader = new FileUploader({
url: 'http://url.to/upload',
headers: [{name:'Accept', value:'application/json'}],
autoUpload: true,
});
this.uploader.onErrorItem = (item, response, status, headers) => this.onErrorItem(item, response, status, headers);
this.uploader.onSuccessItem = (item, response, status, headers) => this.onSuccessItem(item, response, status, headers);
}
onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {
let data = JSON.parse(response); //success server response
}
onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {
let error = JSON.parse(response); //error server response
}
}