前端上传文件到服务器端

17 篇文章 0 订阅
7 篇文章 0 订阅

上传文件到服务器有很多插件,而且各种UI组件库,像iview,eleUI也都替我们封装好了,根本不用我们操心。
下面是原生的form 上传
原生form表单上传文件
直接上代码

	 <form enctype='multipart/form-data' action="http://192.168。xxx.xxx:3000/upload" method="post">
        <input type="file" name='pic'>
        <input type="submit">
    </form >
 首先我们看form的enctype 属性
 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码,但是在这里上传文件,我们用multipart/form-data,通过二进制方式提交。

详细请戳这里
http://www.w3school.com.cn/tags/att_form_enctype.asp

action是你上传文件的地址路径,method是以什么方式进行处理,post为上传,get为获取。
前端很简单,重要的是后端,博主用node起了一个服务器,废话不说,上代码

var multiparty = require('multiparty')

router.post('/upload',function (req,res) {
//创建处理form表单的对象
    var form = new multiparty.Form({
        uploadDir: './images'
    })//文件上传的路径
    //通过form.parse生成服务器文件,注意这里生成的文件名字不是原来的名字,而是编码后的名字,里面的回调包含错误信息,字段信息,文件信息
    form.parse(req,function (err,fields,files) {
        if(err) {throw err ;
        console.log(err)}
        else{
            res.send(JSON.stringify(files.pic[0]))
        }
    })
})

这里需要安装插件multiparty
执行命令npm i multiparty
作用:使用内容类型解析http请求multipart/form-data,也称为文件上载。
详情请戳https://www.npmjs.com/package/multiparty

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值