0

我在我的 Angular 4 应用程序上实现了简单的文件上传,一切正常,但我有一个问题我不知道如何解决,所以当我完成上传第一个项目时,onSuccessItem 回调触发并且我在那里做了一些逻辑,但是当我上传另一个文件时,相同的回调不会触发。我的问题是每次上传文件时如何触发 onSuccessItem 回调,我不想刷新页面。我的代码看起来像这样。我正在使用这个插件https://github.com/valor-software/ng2-file-upload

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

1 回答 1

1

似乎是图书馆中的一个错误。

在这里报告:https ://github.com/valor-software/ng2-file-upload/issues/872由你

于 2017-08-29T01:45:06.700 回答