У меня довольно странная проблема. В основном я использую express сервер в качестве прокси-сервера для предотвращения возникновения проблемы CORS при попытке использовать Jira API.
Я создал конечную точку добавления вложения, которая должна обрабатывать отправку данных multipart / form-data.
Проблема в том, что я получаю
status: 415,
statusText: 'Unsupported Media Type',
в ответе. Я обнаружил, что всякий раз, когда я добавляю заголовок «content-type», статус меняется на 500 «внутренняя ошибка сервера», поэтому оба вызывают некоторые проблемы.
Вот мой код для этого маршрута:
app.post("/attachfile", multer().single("file"), async (req, res) => {
console.log(req.file);
// Req.file =
// {
// fieldname: 'file',
// originalname: 'test.txt',
// encoding: '7bit',
// mimetype: 'text/plain',
// buffer: <Buffer 31 32 33>,
// size: 3
// }
try {
const response = await fetch(
"http://localhost:8080/rest/api/latest/issue/DP-1/attachments",
{
method: "POST",
body: req.file,
headers: {
Authorization: "Basic xxx",
"X-Atlassian-Token": "no-check",
},
}
);
const result = await response.text();
console.log(response);
//response while no content-type header: 'status: 415, message: 'Unsupported Media Type'
//response with content-type header (multipart/form-data): 'status: 500, message: 'FileUploadException: the request was rejected because no multipart boundary was found'
res.json(result);
} catch (error) {
console.log(error);
}
});