已完成回调时的angular 4文件上载

已完成回调时的angular 4文件上载,angular,typescript,ng-file-upload,ng2-file-upload,Angular,Typescript,Ng File Upload,Ng2 File Upload,我在angular 4应用程序上实现了简单的文件上传,一切正常,但有一个问题我不确定如何解决,所以当我上传完第一个项目后,onSuccessItem回调会触发,我在那里做了一些逻辑,但当我上传另一个文件时,相同的回调不会触发。我的问题是每次上传文件时如何触发onSuccessItem回调,我不想刷新页面。我的代码看起来像这样。我正在使用这个插件 从'@angular/core'导入{Component}; 从“ng2文件上载”导入{FileUploader,FileItem,ParsedResp

我在angular 4应用程序上实现了简单的文件上传,一切正常,但有一个问题我不确定如何解决,所以当我上传完第一个项目后,onSuccessItem回调会触发,我在那里做了一些逻辑,但当我上传另一个文件时,相同的回调不会触发。我的问题是每次上传文件时如何触发onSuccessItem回调,我不想刷新页面。我的代码看起来像这样。我正在使用这个插件

从'@angular/core'导入{Component};
从“ng2文件上载”导入{FileUploader,FileItem,ParsedResponseHeaders};
@组成部分({
选择器:“上载文件”,
模板:`
`,
})
导出类UploadFileComponent{
上传器:文件上传器;
ngOnInit():void{
this.uploader=新文件上传器({
网址:'http://url.to/upload',
标题:[{name:'Accept',value:'application/json'}],
自动上传:对,
});
this.uploader.onErrorItem=(项目、响应、状态、标题)=>this.onErrorItem(项目、响应、状态、标题);
this.uploader.onSuccessItem=(项目、响应、状态、标题)=>this.onSuccessItem(项目、响应、状态、标题);
}
onSuccessItem(项:FileItem,响应:string,状态:number,头:ParsedResponseHeaders):任意{
//在上载第一个文件时,此操作只会触发一次
}
OneErrorItem(项:FileItem,响应:string,状态:number,头:ParsedResponseHeaders):任意{
let error=JSON.parse(response);//错误服务器响应
}
}

似乎是库中的一个bug


此处报告:由您删除不正确的标记
angularjs
好吧,这是真的,我报告了它,但还没有确认这是错误。所以我想也许我做错了什么。
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 {
        //this gets triggered only once when first file is uploaded
    }

    onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {
        let error = JSON.parse(response); //error server response
    }
}