nodejs+ajax实现简单的文件上传功能
app.js中引入express的第三方中间件multer实现文件上传功能。
var multer = require('multer');//用express的第三方中间件 multer 实现文件上传功能。 app.use(multer({//设置文件上传到的位置 dest: './public/images/upload', rename: function (fieldname, filename) { return filename; } }));
路由
app.post('/upload', function (req, res) { req.flash('success', '文件上传成功!'); res.json({"result":{message:"文件上传成功!"}}); });
html
<input type="file" id="photo"> <button id="upload">上传</button>
ajax
/*上传文件*/ $("#upload").click(function(){ //do something var file = $("#photo")[0].files; //上次修改时间 console.log("文件上次修改时间"+file[0].lastModifiedDate); //名称 console.log("文件名称"+file[0].name); //大小 字节 console.log("文件大小"+file[0].size); //类型 console.log("文件类型"+file[0].type); //创建FormData对象 var data = new FormData(); //为FormData对象添加数据 $.each(file, function(i, file) { data.append('upload_file', file); }); $.ajax({ data: data, url: '/upload', type:"post", dataType: 'JSON', contentType: false, //不可缺 processData: false, //不可缺 success: function(data){ console.log(data); alert("上传成功!"); }, error: function(err){ console.log('error: ' + err); } }); })
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步