2017-08-08 71 views
0

我使用FileUploader UI5元素使用的XMLHttpRequest(POST操作)上载文件,下面这里是我的代码片段 -多重表单数据 - 无效请求

 var input = document.querySelector('input[type="file"]'); 
     var data = new FormData(); 
     data.append("files", input.files[0]); 
     var xhr = new XMLHttpRequest(); 
     xhr.open("POST","https://URL"); 
     xhr.setRequestHeader('Content-Type', 'multipart/form-data'); 
     xhr.setRequestHeader("apikey", "XXXXXXXXXXXXXXXXX"); 
     xhr.setRequestHeader("accept", "application/json"); 
     xhr.send(data); 

但同时推动的请求,我我正处于例外之下。不知道为什么我的邮政操作失败,任何帮助将不胜感激。

错误描述 - 此服务至少需要1个文件。请把你的文件(S)到POST请求”


这是请求头和有效载荷的样子的files场 -

Request Header - 

Accept:*/* 
Accept-Encoding:gzip, deflate, br 
Accept-Language:en-US,en;q=0.8 
apikey:RGIukzqxB0GWhRaMMcCTmYGHnEWgk5qI 
Connection:keep-alive 
Content-Length:15 
Content-Type:text/plain;charset=UTF-8 
Host:sandbox.api.sap.com 
Origin:https://webidetesting2532276-be010f3f7.dispatcher.us1.hana.ondemand.com 
Referer:https://webidetesting2532276-be010f3f7.dispatcher.us1.hana.ondemand.com/extended_runnable_file.html?hc_orionpath=%2Fbe010f3f7%24S0015741697-OrionContent%2Fsap.ui.unified.sample.FileUploaderComplex&origional-url=index.html&sap-ui-appCacheBuster=&sap-ui-xx-componentPreload=off 
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 



Request Payload - 
[object Object] 

回答

0

您明确设定的内容 - Type,但缺少MIME边界参数,完全忽略头并允许XHR从FromData对象推断出Content-Type

+0

删除头(除了APIKey参数),但仍然得到相同的异常 – Amit

+0

问题解决,似乎ui5代码在文件上传方法中设置了一些不需要的标头。删除所有不需要的标题...谢谢! – Amit