node - post - 上传图片

 

html代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>Document</title>
 9 </head>
10 
11 <body>
12     <form action="http://127.0.0.1/dopost" enctype="multipart/form-data" method="POST">
13         姓名:<input type="text" name="name"> 性别:
14         <input type="radio" name="gender" value="男"><input type="radio" name="gender" value="女">女 年龄:
15         <input type="number" name="age"> 图片:
16         <input type="file" name="img">
17         <input type="submit" value="提交">
18     </form>
19 </body>
20 
21 </html>

 

js代码

 1 let http = require('http');
 2 let formidable = require('formidable');
 3 let util = require('util');
 4 
 5 
 6 //创建服务器
 7 let server = http.createServer(function (req, res) {
 8     //如果你的访问地址是这个,并且请求类型是post
 9     if (req.url == '/dopost' && req.method.toLowerCase() == 'post') {
10         let form = new formidable.IncomingForm();
11         //设置文件上传存放地址
12         form.uploadDir = './uploads';
13         //执行里面的回调函数的时候,表单已经全部接收完毕了。
14         form.parse(req, function (err, fields, files) {
15             if (err) throw err;
16             console.log('上传文件路径:',files.img.path,'上传文件名:',files.img.name);
17             // console.log(util.inspect({ fields: fields, files: files }));
18             //所有的文本域、单选框,都在fields存放;
19             //所有的文件域,files
20             res.writeHead(200, { 'content-type': 'text/plain' });
21 
22             res.end('success!~~~');
23         });
24     }
25 });
26 
27 server.listen(80, '127.0.0.1');

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值