angular - Primeng的p-fileUpload中没有运行onUpload方法

标签 angular typescript file-upload primeng

我在我的 html 中声明一个 FileUpload,如下

<p-fileUpload  name="file"  url="http://localhost:8080/integra/services/upload" (onUpload)="onUpload($event)"  accept=".txt"></p-fileUpload>

它指向我的后端

    @PostMapping(value="/upload", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public ResponseEntity uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
        File convertFile = new File("C:\\upload\\"+file.getOriginalFilename());
        convertFile.createNewFile();
        FileOutputStream fout = new FileOutputStream(convertFile);
        fout.write(file.getBytes());
        fout.close();
        return new ResponseEntity("OK", HttpStatus.OK);
    }

但是当在我的 typescript 中执行 onload 事件时,它不起作用......甚至放置了一个 console.log 来测试,但它不起作用。 这是我的 typescript

  onUpload(event) {
    console.log(event.files.length);
    console.log(event.progress);
  }

当我运行文件上传时,加载栏被卡住,不允许我执行另一个文件上传。因此,当加载栏从未完成时,不会执行上述事件 enter image description here

最后,文件保存在上述路径中,但我无法正确处理事件

如果有人能帮助我,我将不胜感激。 谢谢

最佳答案

我在使用“onUpload”方法时遇到了同样的问题(对我来说不起作用),您可以使用 uploadHandlercustomUpload="true" 代替,它有效就像一个魅力!

这里是一些示例代码:

HTML

```
<p-fileUpload #fileInput
  name="files" 
  (uploadHandler)="onUpload($event)"
  customUpload="true"
></p-fileUpload>
```

TS

  onUpload(event) {
    console.log('onUpload', event); 
  }

关于angular - Primeng的p-fileUpload中没有运行onUpload方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58312827/

相关文章:

php - 简单的 AJAX 文件上传表单不起作用

javascript - 路线变化的 Angular 变化检测

Angular 6 : Dynamic Meta tag is not working when sharing page on facebook using og:description tag

php - 当我上传文件时整个网站崩溃

typescript - typescript 中特定类型的数组

reactjs - 如何让故事书在故事中显示 typescript 类型

javascript - 无法使用 JQuery-File-Upload 从文件列表中删除文件

angular - 如何在Angular中使用catchErroŕRxJS运算符进行错误处理?

javascript - Angular2 Pipe 用于更改特定字符的内联样式

Angular Material2 日期选择器 - 动态格式化