原网址
https://www.npmjs.com/package/formidable
var formidable = require('formidable'), http = require('http'), util = require('util'); http.createServer(function(req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { // parse a file upload var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { res.writeHead(200, {'content-type': 'text/plain'}); res.write('received upload:nn'); res.end(util.inspect({fields: fields, files: files})); }); return; } // show a file upload form res.writeHead(200, {'content-type': 'text/html'}); res.end( '<form action="/upload" enctype="multipart/form-data" method="post">'+ '<input type="text" name="title"><br>'+ '<input type="file" name="upload" multiple="multiple"><br>'+ '<input type="submit" value="Upload">'+ '</form>' ); }).listen(8080);
12345678910111213141516171819202122232425262728值得注意的是,里面的form表单要添加enctype=“multipart/form-data”
而且选择的文件夹要添加name,我这里用的node的ejs模板
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>小小相册</title> <link href="/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script> </head> <body> <div class="container"> <div class="row"> <form style="width: 40%;" method="post" action="#" enctype="multipart/form-data"> <div class="form-group"> <label for="exampleInputEmail1">选择文本框</label> <select class="form-control" ***name="wenjianjia"***> <% for(var i = 0 ; i < albums.length ; i++){ %> <option><%= albums[i] %></option> <%}%> </select> </div> <div class="form-group"> <label for="exampleInputFile">选择图片</label> <input type="file" id="exampleInputFile" ***name="tupian"***> </div> <button type="submit" class="btn btn-default">上传</button> </form> </div> </div> <script src="/js/jquery-3.3.1.min.js"></script> <script src="/js/bootstrap.min.js"></script> </body> </html>
12345678910111213141516171819202122232425262728293031323334353637383940414243