如何通过在angular2中提交表单上传文件。我想用ng2-file-upload库。但我无法在表单提交中使用它。任何人都可以帮助我吗?如何通过表单在angular2中上传文件?
回答
只需将上传的文件传递到可以在提交中调用的方法中即可。
在HTML
<form #sieFileUploadForm="ngForm">
<input type="file" id="fileItem"
value="Browse...">
在你TS
uploadFile(file){
console.log(file)
}
注: - 向beckend当你需要使它FORMDATA喜欢这个
uploadFile(file){
let formData = new FormData();
formData.append('FILENAME', file);
}
其实你只需要一个带有ng2FileSelect指令的输入字段和一个绑定到上传器的例如[uploader] =“uploader”。一个额外的按钮,调用ulpoad()方法,你就完成了。没有必要创建一个FormData对象AFAIK。 – Akkusativobjekt
我想通过点击表单提交按钮来提交其他领域的数据。 –
是的,你应该可以做到这一点,只要将数据传递给方法! –
因此,最后我明白你的问题,这似乎是你想与文件发送的附加formdata。 您创建FileUploader
后,您可以添加其他形式用下面的代码:
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的有效内容中的其他发布数据,例如使用Firefox开发人员工具。他们应该是这样的:
-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"
value1
-----------------------------110224700718602891206418821
Content-Disposition: form-data; name="key1"
value2
(你的边界不会是相同的)
我发现solution对项目的GitHub的跟踪器。
- 1. 如何在Angular2中上传文件
- 2. 通过文件上传提交表单
- 3. 通过表单上传图像文件
- 4. 表单验证通过文件上传
- 5. Angular2:如何通过表单传递值到另一个组件
- 6. 如何通过AJAX和PHP上传表单中的文件?
- 7. 如何通过表单数据将文件上传到amzon s3?
- 8. 上传图像文件(不是通过表单,只是在一个文件夹中)通过PHP上传到MySQL?
- 9. 通过html表单上传文件。在PHP中,$ _FILES是空
- 10. 通过一个表单域在Django中上传多个文件
- 11. 无法上传文件通过Symfony 2.8表单上传
- 12. 更改通过表单上传的tmp文件的文件名
- 13. 如何在通过文件上传器上传文件时命名文件?
- 14. 如何通过jQuery上传文件?
- 15. 如何通过FTP上传文件夹?
- 16. C#如何通过http上传文件?
- 17. 如何取代Angular2 Http上传文件?
- 18. 如何让Angular2 Http上传文件?
- 19. 通过php在java中上传文件
- 20. 在JQuery中通过AJAX上传文件
- 21. 通过Multer在Node.js中上传文件
- 22. 通过ajax在Documentum中上传文件
- 23. 通过Ruby on Rails上的form_tag表单上传文件
- 24. 通过Python通过单个表单域上传多个文件CGI
- 25. 如何处理通过Spray/Scala/Java中的HTML表单上传的文件?
- 26. 如何通过kendo.upload和MVC中的表单上传文件后调用JavaScript?
- 27. 文件上传Angular2通过的multipart/form-data的,400错误
- 28. 如何上传文件上传通过控制大文件在asp.net
- 29. 通过okhttp3上传文件
- 30. 通过base64上传文件
你是什么意思,“我不能”,错误?你看了演示(http://valor-software.com/ng2-file-upload/)吗? – Akkusativobjekt
我想单击表单提交按钮,并希望提交所有数据与图像/文件到后端。我怎样才能做到这一点? @Akkusativobjekt –