最近在研究nodejs,用到图片上传功能,就把自己整理下来的代码放上来,代码很简单:
nodejs后台:
var formidable = require("formidable");
var fs = require("fs");
var sys = require("sys");
exports.upload = function(req, res){
var form = new formidable.IncomingForm();
form.uploadDir = "./public/images/upload";
form.keepExtensions = true;
form.encoding = 'utf-8';
form.parse(req, function(error,fields,files){
if(error) {
console.log(error);
return;
}
res.writeHead(200, {'content-type':'text/html'});
res.end("<script>parent.insertImage('" + files.image.path + "')</script>;"); // 调用方法,把路径放入输入框中</span>
});
return;
}
jade:
form#imageForm(action="uploadIcon", method="post", target="uploadFrame", enctype="multipart/form-data")
input.hidden#uploadButton(name="image", type="file")
iframe#uploadFrame.hidden(name="uploadFrame")
$("#uploadButton").change(function(){
$("#imageForm").submit();
});
配合iframe实现图片上传,并把图片返回的路径放到输入框中