Búsqueda de sitios web

angular - Invocar manualmente FileUpload en PrimeNG


Quiero seleccionar los archivos primero y luego comenzar a subir esos archivos con otro botón en lugar del propio botón Upload del componente.

¿Cómo puedo hacer esto?

Código de ejemplo que he intentado:

<button pButton type="button" label="Start Upload"
        (click)="startUpload()"></button>

<p-fileUpload #fileInput name="fileIcon"
              url="rest/batch/file/multimedia/"></p-fileUpload>


@ViewChild('fileInput') fileInput:ElementRef;

constructor( private renderer: Renderer ) { }

startUpload(){

    // this.fileInput.upload(); -> doesn't compile, undefined
    // this.fileInput.nativeElement.upload(); -> this.fileInput.nativeElement is undefined

    ?????????????????
}

Respuesta #1

Ejemplo de código que funciona para mí

import {FileUpload} from 'primeng/primeng';

@Component({
  ...
})
export class AppComponent {
    @ViewChild('fileInput') fileInput: FileUpload;

    startUpload(){
        this.fileInput.upload();
    }
}

Ejemplo de Plunker

Artículos relacionados