实战篇 - node.js后台实现压缩文件获取、解析并上传至云平台(附源码)

前言

因项目需要,后台需要支持接收前端的压缩文件并解析上传至云平台,一顿踩坑之后基本跑通了整条流程,下面写下来分享给那些像我一样的node小白~

实现过程

安装依赖

本次实现中依赖了node解压模块unzip

yarn add unzip

接收zip文件

之前在网上找了好多资料,基本上都是在服务器本地对各种文件进行操作,难道就没有从前端向后台传、解析压缩文件的先例嘛???

所以,直接从前端把zip文件抛过来,get!

项目UI是基于antd实现的,所以直接用Upload组件进行的上传,这里有个坑要踩,在默认设置下组件上传会报错:No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 需要给组件设置属性headers= { { 'X-Requested-With':null }}

get是get到了,但通过fs.createReadStream()来直接读取拿到的buffer是总是回报这样那样的错误,经过一番苦苦搜寻,找到了这样一种解释:This means the library would like to do its own reading of the file rather than being given a stream of bytes for analysis.,大概意思就是node的方法希望接收的资源是资源的路径而不是资源本身,既然这样,那就把从前端获取的数据先存起来好了:

    fs.writeFile(`${
     __dirname}/temp/temp.zip`, z, function(e) {
   
        ···//这里的z就是从前端拿来的资源
    })

这下就可以拿到想要的zip了吧,然后就可以为所欲为了。

    fs.writeFile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值