繁体   English   中英

Angular 多个文件上传未按预期工作

[英]Angular multiple file upload not working as expected

当我尝试在表单数据中上传多个文件时,api 返回一个空的 arrays。(与邮递员合作)

你能告诉我为什么吗? 谢谢!

这是我的代码:

添加文件 function(保存文件、文件名和客户端预览):

  addFile(event: any) {
    console.log(event.target.files)

    Array.from(event.target.files).forEach((fileData: any) => {
      let fileName = fileData.name;

      const reader = new FileReader();

      reader.addEventListener(
        'load',
        () => {
          // convert image file to base64 string
          this.draftImages.push({
            preview: reader.result,
            file: fileData,
            fileName: fileName
          })
        },
        false
      );

      if (fileData) {
        reader.readAsDataURL(fileData);
      }
    });
  }

上传文件function到api:

      let formData = new FormData()

      let files: any = []


      this.draftImages.forEach((fileData: any) => {
        files.push(fileData.file)
        console.log(fileData.file);
      })

      formData.append("file", files)

      this.http.post<any>("http://localhost:3000/chat/message/dm/uploadImg", formData).subscribe((result) => {
        console.log(result, formData)
      })

修复。

变了

      this.draftImages.forEach((fileData: any) => {
        files.push(fileData.file)
        console.log(fileData.file);
      })

      formData.append("file", fileData.file, fileData.name)
        console.log(fileData.file);
      })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM