С помощью multer я загружаю картинку на сервер и для этого мне нужно отправить картинку в FormatData
С помощью Axios она отправляется и я могу получить ее с помощью req.file, но с fetch при req.file он ее не находит, но я хочу отправить fetch, как это можно сделать?
Axios запрос:
const formatData = new FormData();
formatData.append('image', image)
Axios.post('http://localhost:5000/api/settings/change', formatData).then(response => console.log(response.data))
Fetch запрос:
const formatData = new FormData();
formatData.append('image', image)
const data = await request('/api/settings/change', 'POST', formatData)
Сам хук Fetch:
const request = useCallback(async (url, method = 'GET', body = null, headers = {}) => {
setLoading(true)
try {
if (body) {
body = JSON.stringify(body)
headers['Content-Type'] = 'application/json'
}
const responce = await fetch(`http://localhost:5000${url}`, {
method, body, headers
})
const data = await responce.json()
if (!responce.ok) {
throw new Error(data.message)
}
setLoading(false)
return data
}
catch(e) {
setLoading(false);
setError(e.message)
throw e
}
}, [])
И даже если отправять через Axios, то как мне можно отправить несколько объектов, а не только FormData?
Просто у меня есть еще объект, который надо отправить в форме:
const values={{
image: '',
name: '',
gender: '',
city: ''
}}