我有下面一段可用的JavaScript代码。它发出一个请求,并将Content-Type标头设置为multipart/form-data; boundary=----WebKitFormBoundary7LXmdzV4exnc4Fel
之类的内容,就像人们对this问题所期望的那样。
const formData = new FormData();
formData.append('value', 12);
const options = {
method: 'POST',
body: formData ,
// Uncomment to make it fail
//headers: { "authentication": "something" }
};
fetch('http:localhost:5001/images/createFromFile', options);
但是,如果您在带有身份验证标头的行中注释,它将停止工作,并且不再设置内容类型标头。我不确定这是错误还是提取API的工作方式。
我无法避免使用身份验证标头,因为它是由我的基础结构代码添加的,此外,它还需要进行身份验证的请求。是否可以通过自动生成标头或手动设置内容类型标头并获得与请求正文实际匹配的表单边界键来实现此目的?我需要尽可能使用Fetch api的解决方案,以使用现有的日志记录和身份验证。
更新:原来,我一直在寻找的错误必须在包装fetch api的api中,因为它实际上按预期运行。当调用另一个域时,我被执行一个OPTIONS请求的CORS行为所吓倒(测试脚本在本地html中运行,而不是由本地主机服务器提供服务)。因此,这个问题现在毫无意义。