我正在使用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 个文件。请将您的文件放入 POST 请求的 files
字段中”
这是请求 header 和负载的样子 -
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]
最佳答案
您已显式设置 Content-Type,但缺少 MIME 边界参数。完全省略 header 并允许 XHR 从 FromData 对象推断 Content-Type。
关于javascript - 使用 XHR 的多部分表单数据 - 无效请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575360/