node上传图片到Java

本文介绍了一个使用Node.js的axios库来上传文件的例子。通过创建一个FormData实例并将文件流附加到该实例中,可以轻松实现文件的POST请求上传。此外,还展示了如何设置正确的Content-Length头部以确保请求正确处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

npm install --save form-data
npm install --save axios
var fs = require('fs');
var axios = require('axios');

let data = fs.createReadStream(__dirname + '/../public/wx/coupon.png')
  let form = new FormData()
  form.append('type','image')
  form.append('media',data,'test.jpg')

  let getHeaders = (form=>{
    return new Promise((resolve,reject)=>{
      form.getLength((err,length)=>{
        if(err) reject(err)
        let headers = Object.assign({'Content-Length':length},form.getHeaders())
        resolve(headers)
      })
    })
  })

  getHeaders(form).then(headers=>{
    return axios.post(url,form,{headers:headers})
  }).then((response)=>{
    console.log('图片上传成功-永久', response.data)
  }).catch(e=>{console.log('上传图片出错-永久', e)})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值