简体   繁体   中英

Send received file to an axios multipart/form-data request

I want to fetch some data from a server and send it to another server. The data involved is a file. Is there any way to directly send the received file to the next axios request without saving it in the filesystem first?

I've tried something like:

let res = axios({
  method: 'get',
  url: 'someurl.com/image.png',
  responseType: 'stream'
})

axios.post(url2, {data: res.data}, {headers:{'Content-Type':'multipart/form-data'})}

and it doesn't seem to work.

So is there any way to do the above? Or should I go about it in a different manner?

Try this if you are using async/await

const { data } = await axios.get('/some_url', {...configs, responseType: 'stream'})


// pass it to another request
await axios.post('/some_other_url', data, config)

axios call returns a promise. Can you try the following snippet and see if it works?

axios({
  method: 'get',
  url: 'someurl.com/image.png',
  responseType: 'stream'
}).then((res) => {
  axios.post(url2, {data: res.data}, {headers:{'Content-Type':'multipart/form-data'})}
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM