node.js中上传文件
来源:互联网 发布:日式发型知乎 编辑:程序博客网 时间:2024/05/16 15:12
下载第三方插件:
在www.npmjs.com中下载formidable模块
表单代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form action="http://127.0.0.1:81/dopost" method="post" enctype="multipart/form-data"> <p>姓名:<input type="text" name="name"></p> <p>性别:<input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女</p> <p>图片:<input type="file" name="tupian"></p> <p><input type="submit" value="提交"></p> </form></body></html>
加载第三方代码接收文件数据:
var http = require("http");var formidable = require('formidable');var fs = require("fs");var sd = require("silly-datetime");var path = require("path");//创建服务器http.createServer(function (req, res) { //如果你访问地址是这个,并且请求类型是post if(req.url == "/dopost" && req.method.toLowerCase() == "post"){ var alldata = ""; // parse a file upload var form = new formidable.IncomingForm(); form.uploadDir = "./uploads"; //执行里面的回调函数的时候,表单已经全部接受完毕了 form.parse(req, function(err, fields, files) { if(err){ throw err; } //时间 var ttt = sd.format(new Date(), 'YYYYMMDDHHmmss'); var ran = parseInt(Math.random() * 89999 + 10000); var extname = path.extname(files.tupian.name); var oldpath = __dirname + "/" + files.tupian.path; var newpath = __dirname + "/uploads/" + ttt + ran + extname; //改名 fs.rename(oldpath, newpath, function () { if(err){ throw Error("改名失败"); } //所有的文本域、单选框,都在fields存放。所有的文本域都在files存放 res.writeHead(200, {'content-type': 'text/plain; charset=utf-8'}); res.end("成功"); }); }); } else if(req.url == "/"){ fs.readFile("./aa.html", function (err, data) { res.writeHead(200, {'content-type': 'text/html; charset=utf-8'}); res.end(data); }); } else { res.writeHead(404, {'content-type': 'text/html; charset=utf-8'}); res.end("路径错了"); }}).listen(81, "127.0.0.1");
阅读全文
0 0
- node.js中上传文件
- node.js 文件上传
- node.js文件上传处理
- node.js文件图片上传
- node.js connect 实现文件上传
- node.js express框架文件上传路径
- 【代码】Node.js模拟浏览器文件上传
- 利用node.js android 实现文件上传
- node.js利用express实现文件上传
- Node.js模拟浏览器文件上传
- Node.js上传文件和遍历目录
- node.js上传并解析Excel文件
- Node.js作为服务器的文件上传
- Node.js做登录&上传文件
- node.js + busboy 多文件上传
- node.js上传并解析Excel文件
- Node.js进阶の文件上传
- Node.js阿里云OSS文件上传
- 线段树— Billboard
- JavaScript同步、异步、回调执行顺序之经典闭包setTimeout面试题分析
- 使用dbutils
- 9月7日训练日记
- 什么是线程安全和线程不安全
- node.js中上传文件
- Allegro 卡顿问题解决
- (学习笔记 3)线性表
- 如何为eclipse安装插件
- 显示MySQL数据库信息的方法
- 终端的基本概念
- c++基础之有头链表的构造
- 常见性能优化策略的总结
- 三种方法解决 Failed to start LSB: Bring up/down networking 问题