const http = require('http'); const fs = require('fs'); const path = require('path'); const url = require('url'); const mime = require('mime'); const qs = require('querystring'); const router = require('./router'); const conn = require('./conn'); http.createServer(function (req, res) { //静态资源的改进 var pathname = url.parse(req.url).pathname; //客户端请求的路径 url.parse()将url字符串转换成obj对象 var ext = path.extname(pathname); //请求的后缀名,可以通过有没有后缀名判断是静态资源还是动态资源 .html var mimestr = mime.getType(url); //请求文件的类型 text/JavaScript if (ext) { fs.readFile(path.join(__dirname, './static', pathname), function (err, data) { if (err) { console.log(err); } else { res.writeHead(200, { 'Content-Type': mimestr + ';charset=utf-8' }); res.end(data); } }); } //动态资源 // router(req,res,'/getdata',function(req,res){ //获取数据的操作 // // res.write('/getdata'); // conn.connect(); //进行数据库的连接 // conn.query("select * from goods",function(error,results,fields){ // res.end(JSON.stringify(results)); //发送数据 // }); // conn.end(); //结束连接 // }); //增加数据 // get请求 // req.method();可以得到请求的类型 // form表单提交的数据req.url? router(req, res, "/addData", function (req, res) { var o = url.parse(req.url,true); var sql = "insert into goods(goodsname,price) values(?,?)"; var params = [o.query.goodsname, o.query.price]; conn.query(sql, params, function (error, results, fields) { if (!error) { console.log('--------------------------insert----------------------------'); console.log(JSON.stringify(results)); console.log('----------------------------------------------------------------- '); res.end(JSON.stringify(results)); } }) // conn.end(); }); //post请求 enctype:"application/x-www-form-urlencoded" var body = ""; req.on("data",function(chunk){ // body+=chunk; }) req.on("end",function(){ console.log(body); var o = qs.parse(body); var sql = "insert into goods(goodsname,price) values(?,?)"; var params = [o.title,o.price,o.yprice,o.imgsrc]; conn.query(sql,params,function(error, results, fields){ // console.log(error,results); // console.log("========================="+JSON.stringify(fields)+"=========================") if(!error){ console.log(JSON.stringify(results)); res.end(JSON.stringify(results)); } }) }) //上传文件 enctype="multipart/form-data" var form = new formidable.IncomingForm(); //上传文件存放的临时路径,一定是绝对路径 form.uploadDir = path.join(__dirname,"/static/uploads"); //表单提交的数据已经接受完毕 form.parse(req, function(err, fields, files) { // res.write('received upload: '); // // util.inspect 将任意对象转换成字符串 // res.end(util.inspect({fields: fields, files: files})); fs.rename(files.files.path, "./static/uploads/upload_" + new Date() * 1 + ".jpg", function (err) { if (err) { throw Error("改名失败"); } res.writeHead(200, { 'content-type': 'text/plain' }); res.write('重命名成功'); res.end(); }); }); }).listen(8000); console.log('server is success');