在附加文件

时间:2019-01-16 20:41:26

标签: javascript ajax xmlhttprequest multipartform-data

这是我尝试附加并发送到服务器(console.log)的文件:

...
console.log(myFile); // brings this:

File(1921512) {name: "2018-10-07_23-53-14.png", lastModified: 1538945346813, lastModifiedDate: Sun Oct 07 2018 23:54:06 GMT+0300 (Israel Daylight Time), webkitRelativePath: "", size: 1921512, …}
lastModified: 1538945346813
lastModifiedDate: Sun Oct 07 2018 23:54:06 GMT+0300 (Israel Daylight Time) {}
name: "2018-10-07_23-53-14.png"
size: 1921512
type: "image/png"
webkitRelativePath: ""
__proto__: File

我这样添加此文件:

let formData = new FormData();
formData.append(0, myFile);

然后我这样做:

console.log(formData); // FormData {}__proto__: FormData

其中没有附加文件。

当我尝试将其发送到服务器时,Http请求标头的内容类型只是不包含任何内容类型:

请求标头:

Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: he-IL,he;q=0.9,en-US;q=0.8,en;q=0.7,pt;q=0.6,la;q=0.5
Access-Control-Request-Headers: authorization
Access-Control-Request-Method: POST
Cache-Control: no-cache
Connection: keep-alive
Host: localhost:3000
Origin: http://localhost:8080
Pragma: no-cache
Referer: http://localhost:8080/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

我尝试使用实体登录此日志,但这仍然无法正常工作-无论如何服务器都无法获取任何文件。

1 个答案:

答案 0 :(得分:0)

我在请求参数中添加了transformRequest: angular.identity