@biondohod

Как исправить ошибку fetch post — «multipart: NextPart: bufio: buffer full»?

На сайте есть функционал загрузки фото профиля, делаю это через 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>
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
При передачи в теле запроса объекта FormData тип контента указывать не нужно, браузер сам пропишет тип контента.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы