不支持的媒体类型”"/>
fetch() POST 请求返回“错误 415 不支持的媒体类型”
尝试使用 fetch() 上传 PDF 文件时,我不断收到 415 错误。 PDF文件和js文件保存在同一个目录下,名字绝对没错
async function uploadFile(filePath, extension, timestamp) {
const url = "";
// const url = ""; // also doesn't work.
var filename = `${filePath}.${extension}`;
var fileOptions = {
access: 'PRIVATE',
overwrite: false,
duplicateValidationStrategy: 'NONE',
duplicateValidationScope: 'ENTIRE_PORTAL'
};
var formData = {
file: fs.createReadStream(filename),
fileName: `${filename} (${timestamp}).${extension}`,
options: JSON.stringify(fileOptions),
folderPath: 'Quotations'
};
try {
const response = await fetch(url, {
"method": "POST",
"formData": formData,
"headers": {
'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`,
"Content-Type": "application/pdf"
}
});
if(!response.ok) {
throw new Error(`Error. Response not ok: ${response.status}`);
}
const data = await response.json();
return data;
} catch(error) {
console.log(`Error: ${error}`);
}
}
const fileId = uploadFile("Quotation", "pdf", getCurrentTimestamp());
fileId.then((data) => console.log(data));
我尝试将
headers
中的“Content-Type”更改为几个不同的选项,并且都吐回400和415错误:
"Content-Type": "multipart/form-data"
- “错误:错误:HTTP 错误:400”。
"Content-Type": "application/json"
- “错误:错误:HTTP 错误:415”。
"Content-Type": "text/plain"
- “错误:错误:HTTP 错误:415”。
排除“Content-Type”返回 - “Error: Error: HTTP Error: 400”.
当我使用 request.post() 而不是 fetch() 时,我可以上传文件。但是我想使用 fetch()。
回答如下:更多推荐
fetch() POST 请求返回“错误 415 不支持的媒体类型”
发布评论