我正在做一个角度4项目,我处于一种情况,我必须将文件上传到服务器。截至目前我在做什么
let formData = new FormData();
formData.append('file', this.files[0], this.files[0].name);
let headers = new HttpHeaders();
headers.delete('Content-Type');
this.httpClient.post('url', formData, {headers: headers}).subscribe();
这很好,但我的问题是,我想发送一个字符串化的json以及具有我的文件映射的请求。我应该如何附加文件以及字符串化的json。我试过了
let formData = new FormData();
formData.append('file', this.files[0], this.files[0].name);
formData.append('something', '{"vik":"maiya"}');
let headers = new HttpHeaders();
headers.delete('Content-Type');
this.httpClient.post('url', formData, {headers: headers}).subscribe();
将请求有效负载创建为
------WebKitFormBoundarysJdQ94YacVJ9jwwP
Content-Disposition: form-data; name="file"; filename="NUM.json"
Content-Type: application/octet-stream
------WebKitFormBoundarysJdQ94YacVJ9jwwP
Content-Disposition: form-data; name="something"
{"vik":"maiya"}
------WebKitFormBoundarysJdQ94YacVJ9jwwP--
这是正确的方法吗?服务器是否能够解析请求的不同部分?如果不是理想的应该如何?请帮忙。提前谢谢!
答案 0 :(得分:0)
我最近尝试使用multipart标头发送json stringify对象和图像,但是服务器无法读取数据,因为现在它不是内容类型的JSON标头。
如果有任何人有好的工作我想学习情景。
解决方案:使用formdata附加属性发送字符串,服务器可以读取数据。