Я пытаюсь загрузить файл из реагирующего внешнего интерфейса в бэкэнд C #. Я использую Drop Zone, чтобы получить файл, и затем я вызываю API-помощник, чтобы опубликовать файл, но я получаю разные ошибки, когда я пытаюсь разные вещи. Я не уверен точно, какими должны быть заголовки и что я должен отправить, но я получаю две отчетливые ошибки. Если я не установил тип содержимого, я получаю ошибку 415 (Unsupported Media Type). Если я укажу тип контента как multipart / form-data, я получу 500 внутреннюю ошибку сервера. Я получаю ту же ошибку, когда типом контента является application / json. URL находится в прошлом, и я уверен, что это правильно. Я не уверен, должен ли файл добавляться как file [0] [0], как я это сделал, или как file [0], поскольку это массив, но я считаю, что он должен быть первым. Любые предложения приветствуются :) Вот мой код помощника поста API:
export const uploadAdminFile = (file, path, method = 'POST', resource =
config.defaultResource) => {
const url = createUrl(resource, path);
const data = new FormData();
data.append('file', file[0][0]);
data.append('filename', file[0][0].name);
const request = accessToken =>
fetch(
url,
{
method,
mode: 'cors',
withCredentials: true,
processData: false,
headers: {
Accept: 'application/json',
'Content-Type': 'application/json', //'multipart/form-data',
Authorization: `Bearer ${accessToken}`,
},
body: data,
})
.then(res => res.json())
.then(success => console.log('API HELPER: file upload success: ', success)
.catch(err => console.log('API HELPER: error during file upload: ', err)));
return sendRequest(request, resource);
};