如何在nodejs里使用axios上传和下载文件

下载文件

 var res = await axios.get(url,{responseType : "stream"});
 

示例:

在koa2的get请求里从别处下载文件后直接转回给前端

const Koa = require('koa');
const Router = require('koa2-router')
const axios = require('axios')

const app = new Koa();
const router = new Router();
const port = 3000;

router.get('/download',async (ctx, next) => {
  const url = <url from other website>
  var res = await axios.get(url,{responseType : "stream"});
  ctx.set("Content-Type", res.headers['content-type']);
  ctx.response.body = res.data;
});


app.use(router);

app.listen(port,() => {
    console.log(`web app started, listening at ${port}`);
});

上传文件

 示例:从别的网络下载文件后,再上传到另外一个网站上

const axios = require('axios');
const FormData = require('form-data')


const upload = async () => {
    var url = <the url from other website>;
    var res = await axios.get(url,{responseType : "stream"});
   
    const formData = new FormData();
    formData.append("test",'test');
    formData.append("file",res.data,fileName);
    await  axios.post(<uploadUrl>, formData, {
            headers: formData.getHeaders(),
            maxBodyLength: Infinity 
     });
}

参考:    Send a File With Axios in Node.js - Maxim OrlovEverything you need to know about sending files with axios in Node.js — from creating a form to setting the right headers.https://maximorlov.com/send-a-file-with-axios-in-nodejs/

[Solved] Axios Error: Request body larger than maxBodyLength limit | ProgrammerAHicon-default.png?t=M3K6https://programmerah.com/solved-axios-error-request-body-larger-than-maxbodylength-limit-38597/

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值