如何以angular2的形式提交文件?

如何以angular2的形式提交文件?,angular,form-submit,Angular,Form Submit,我如何通过angular2中的表单提交上传文件。我想使用ng2文件上传库。但我不能在表单提交中使用它。有人能帮我吗?只需将上传的文件传递到您的方法中即可,该方法可在提交时调用 在HTML中 <form #sieFileUploadForm="ngForm"> <input type="file" id="fileItem" value="Browse..."> 注意:-当发送到beckend时,您需要将其设置为如下格式的数据 因此,我终于理解了您的问题,这似乎

我如何通过angular2中的表单提交上传文件。我想使用ng2文件上传库。但我不能在表单提交中使用它。有人能帮我吗?

只需将上传的文件传递到您的方法中即可,该方法可在提交时调用

在HTML中

<form #sieFileUploadForm="ngForm">
  <input type="file" id="fileItem" 
  value="Browse...">
注意:-当发送到beckend时,您需要将其设置为如下格式的数据


因此,我终于理解了您的问题,这似乎是您希望随文件一起发送的其他formdata。 创建
文件上载程序后,可以使用以下代码添加其他表单:

uploader: FileUploader = new FileUploader({ url: "http://localhost/upload.php" });

  constructor() {
  this.uploader.onBuildItemForm = (item, form) => {
      form.append("key1", "value1");
      form.append("key1", "value2");
    };
}
有人说把这段代码放在
ngOnInit()
中有点漂亮,但我不想夸大这段代码,这个决定在这里并不重要

之后,您可以检查http post负载中的附加post数据,例如使用Firefox开发工具。它们应该看起来像:

-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"

value1
-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"

value2
(你的边界将不一样)


我在项目的GitHub跟踪程序上找到了错误。

你说的“我不能”是什么意思?您是否查看了演示()?我想单击表单提交按钮,并想将所有带有图像/文件的数据提交到后端。我该怎么做@实际上,您只需要一个带有ng2FileSelect指令的输入字段和一个到上传器的绑定,例如[uploader]=“uploader”。另一个按钮调用ulpoad()方法,您就完成了。不需要创建FormData对象AFAIK。我想通过单击form submit按钮来提交其他字段的数据。是的,正如我提到的,你应该能够做到这一点,只需将数据传递给该方法!
uploader: FileUploader = new FileUploader({ url: "http://localhost/upload.php" });

  constructor() {
  this.uploader.onBuildItemForm = (item, form) => {
      form.append("key1", "value1");
      form.append("key1", "value2");
    };
}
-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"

value1
-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"

value2