На сайте есть функционал загрузки фото профиля, делаю это через fetch post запрос, вот код самого запроса:
async function uploadAvatar(data, token) {
return await fetch(`${apiBase}upload/avatar`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryEmKNDsBKjB7QEqu',
'Authorization': `Bearer ${token}`
},
body: data
});
}
вот функция обработчика отправки формы
const onUploadAvatar = async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
try {
const response = await uploadAvatar(formData, localStorage.getItem('token'));
if (response.ok) {
console.log('ok');
} else response.json().then((res) => {
createError(res.message);
})
} catch (error) {
console.log(error);
}
}
при попытке отправить форму выдает ошибку с сообщением "multipart: NextPart: bufio: buffer full", не знаю как исправить, помогите, пожалуйста
P.S. если вдруг нужно, то вот верстка самой формы
<form onSubmit={onUploadAvatar} className="form form--edit-profile" style={{marginTop: 16}}>
<label className="form__label form__label--center">
<span className="form__name">Avatar uploader</span>
<input onChange={onPreview} className="form__input form__input--upload" type="file" accept="image/png, image/jpeg"
name="avatar" id={"avatar"} defaultValue={avatar ? avatar : ''} multiple={false}/>
<div className="form__upload"></div>
</label>
<div className="form__label form__label--center">
<span className="form__name">Preview</span>
<div className="form__preview"><img src="" className={'previewImg'} alt="Oops! Something went wrong." style={{display: "none"}}/> </div>
</div>
<button type="submit" className="form__submit">Save</button>
</form>