Я пытаюсь загрузить изображение из внешнего интерфейса, post
оно с аксиом в конец (node.js), а затем оттуда post
это снова в службу изображений GroupMe.
Главное - избегать использования токена API во внешнем интерфейсе, и поэтому я пытался сначала отправить запрос на сервер, а затем отправить фактический запрос API в службу изображений GroupMe, которая ожидает получить FormData изизображение и отправляет обратно преобразованный URL-адрес изображения.
Я попытался отправить FormData напрямую в службу изображений GroupMe из внешнего интерфейса, и все работает нормально.Однако для этого мне пришлось хранить токен во внешнем интерфейсе, что, я считаю, не очень хорошая идея.
Рабочий код ниже:
let config = {
headers : {
'X-Access-Token': myToken,
'Content-Type' : 'multipart/form-data'
}
}
let fd = new FormData()
fd.append('name', 'image')
fd.append('file', fileToUpload)
axios.post'(https://image.groupme.com/pictures', fd, config)
.then((response)=>{
console.log(response)
})
.catch(err =>{
console.log(err.response)
})
ЧтоВместо этого мне нужно отправить запрос в серверную часть следующим образом:
axios.post(process.env.baseUrl+'/messengerRequests/upload-file/', fd, config)
.then((response)=>{
console.log(response)
})
.catch(err =>{
console.log(err.response)
})
А теперь в серверной части каким-то образом можно получить эти FormData и затем создать еще один запрос на отправку в GroupMe.сервис изображений, как я изначально делал в front-end.
sendMessage: async(req, res) => {
axios.post('https://image.groupme.com/pictures', ???, config)
.then((response)=>{
res.send(response)
})
.catch(err =>{
console.log(err.response)
})
}
Я не знаю, где он появляется в запросе axios.В req.body
или req.params
ничего нет, поэтому я не могу просто передать его дальше для следующего post
.
Есть ли способ как-нибудь снова передать эти FormData?Или, может быть, есть способ безопасно использовать токен в frond-end?