How to return response with ng2-file-upload

后端 未结 1 1853
遥遥无期
遥遥无期 2021-01-04 01:36

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条回答
  • 2021-01-04 01:54

    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
        }
    }

    0 讨论(0)
提交回复
热议问题