formdata 实现文件的上传,node读取文件操作

这段时间一直在做上传文件,及图片功能,一直在使用webupload,这几天想自己试一下搞一个简单点的上传文件,

在网上查阅相关资料后发现formData能满足要求,便拿来试了一下,期间各种坑,现在把这些记录下来供以后参考

现在我们这使用node搭建了一个代理服务器,存储在mysql搭建的数据库里面,再往上看见了一下formData的相关介绍,在这简单说下,要想详细了解可到网上自行查询

              我采取的是直接调用formData.append()方法;


以上是input标签,以下是js


web端相关代码如上,这样我们在问前端就实现了一个文件上传,接下来我再node的app里面监听/upload,



接下来再upload里面处理上传过来的formdata,再服务器端读取formdata我才用了multiparty,模块


这样在files里面就有我们上传的文件,注意,uploadFile为我们在前端append的属性名,files.upload读取出来后就是一个数组,取其值就可以操作文件了,

如果再node上读取并且写在本地的话,就在先用fs.readFile读取文件,再在返回值里面用fs.writeFile(filename,data)来写出

fs.writeFile(filename, data, [options], [callback(err)]).

而我在这里并不是将文件存在本地,而是传给另外一个服务器并存储,


注意,我在这里并不是用的是fs.readFile(),而是fs.createReadStream(),主要是后台的处理的时候他们需要的是文件流,这样我们就实现了一个文件的上传,

在这里我就简单的记录下了一下我自己的感悟,如果有什么不对的地方请多指教,谢谢

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值