我有一个JS脚本,按照here的说明发送带有FormData的文件。我发送了这个请求:
curl '...'
-H 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36'
-H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryNXAVPG4vPIDQ65Yk'
--data-binary $'------WebKitFormBoundaryNXAVPG4vPIDQ65Yk\r\nContent-Disposition: form-data; name="test"\r\n\r\ntest\r\n------WebKitFormBoundaryNXAVPG4vPIDQ65Yk\r\nContent-Disposition: form-data; name="test1"\r\n\r\ntest1\r\n------WebKitFormBoundaryNXAVPG4vPIDQ65Yk\r\nContent-Disposition: form-data; name="test1"; filename="Capture du 2016-07-15 06:56:40.png"\r\nContent-Type: image/png\r\n\r\n\r\n------WebKitFormBoundaryNXAVPG4vPIDQ65Yk\r\nContent-Disposition: form-data; name="file"; filename="Capture du 2016-07-15 06:56:40.png"\r\nContent-Type: image/png\r\n\r\n\r\n------WebKitFormBoundaryNXAVPG4vPIDQ65Yk--\r\n' --compressed
如您所见,它使用WebKitFormBoundary发送数据。在Rails部分,我收到:{"test"=>"test", "test1"=>"test1"}
。缺少参数file
。
这是我的JS代码:
formData = new FormData();
formData.append('test', 'test');
formData.append('test1', 'test1');
formData.append('file', $('.file-ci')[0].files[0]);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://test.oxygene.siliga.fr/api/annexes', true)
xhr.send(formData);
我想在请求中发送文件。
我该怎么办?