gpt4 book ai didi

angular - 如何使用angular 2中的ng2文件上传提交帖子数据?

转载 作者:太空狗 更新时间:2023-10-29 17:02:03 26 4
gpt4 key购买 nike

我在 Angular 2 中使用 ng2-file-upload。有什么方法可以通过文件上传操作提交我的表单数据吗?

最佳答案

我在使用 ng2-file-upload 时遇到了同样的问题.他们有一个名为 onBeforeUploadItem 的 Hook 。以下无效:

ngOnInit() {
this.uploader.onBeforeUploadItem = (fileItem: any) => {
fileItem.formData.push( { someField: this.someValue } );
fileItem.formData.push( { someField2: this.someValue2 } );
};
}

当我注销 fileItem.formData 的内容时,所有值都在那里。但是,这些表单元素似乎永远不会返回到服务器。我正在使用 Chrome,当我观察 HTTP 帖子时,我看到了以下内容:

请求 header

POST /api/upload/csv HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 228
Origin: http://localhost:4200
x-access-token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJyb290IiwiYWRkciI6IjA6MDowOjA6MDowOjA6MSIsInNjaGVtZSI6Imh0dHAiLCJwb3J0IjoiODA4MCIsImlhdCI6MTQ2OTUwMzM1NX0.jICVQdZD-6m705sZsaQJ5-51LztdIx9pAAKgVYgL3HRMMgrJh6ldFbYvUVtA_UQkSrvCrNJeWeo4C7QYe2W4Cw
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryCSUTihSBrgmwjxg1
Accept: */*
Referer: http://localhost:4200/main
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: _ga=GA1.1.941072201.1467616449; token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJyb290IiwiYWRkciI6IjA6MDowOjA6MDowOjA6MSIsInNjaGVtZSI6Imh0dHAiLCJwb3J0IjoiODA4MCIsImlhdCI6MTQ2OTUwMzM1NX0.jICVQdZD-6m705sZsaQJ5-51LztdIx9pAAKgVYgL3HRMMgrJh6ldFbYvUVtA_UQkSrvCrNJeWeo4C7QYe2W4Cw

请求负载

------WebKitFormBoundaryCSUTihSBrgmwjxg1
Content-Disposition: form-data; name="file"; filename="data.csv"
Content-Type: text/csv


------WebKitFormBoundaryCSUTihSBrgmwjxg1--

实际解决方案

事实证明我很接近。解决方案是覆盖 onBuildItemForm

ngOnInit() {
this.uploader.onBuildItemForm = (fileItem: any, form: any) => {
form.append('someField', this.someValue); //note comma separating key and value
form.append('someField2', this.someValue2);
};
}

实例 form 的类型是 FormData .通过查看我的 HTTP 帖子,我可以看到我的表单字段值被发送到服务器,而我的服务器现在确实看到了这些值。

关于angular - 如何使用angular 2中的ng2文件上传提交帖子数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38502687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com