nodejs+express+ajax实现图片上传及显示
发布时间:2020-12-16 02:06:47 所属栏目:百科 来源:网络整理
导读:图片上传: 页面ajax写法 var data = new FormData(); var files = $("#idFile")[0].files; if(files){ data.append("file",files[0]); data.append("CompanyPicAddress",""); data.append("CompanyNameCN",$('#CompanyNameCN').textbox("getValue")); data.
图片上传: 页面ajax写法 var data = new FormData(); var files = $("#idFile")[0].files; if(files){ data.append("file",files[0]); data.append("CompanyPicAddress",""); data.append("CompanyNameCN",$('#CompanyNameCN').textbox("getValue")); data.append("CompanyNameEN",$('#CompanyNameEN').textbox("getValue")); } $.ajax({ type: 'post',dataType: 'json',url:'...',data : data,contentType: false,processData: false,success : function (data,textStatus){ },error:function(XMLHttpRequest,textStatus,errorThrown){ } }); 后台存储: var fs = require('fs'); var formidable = require("formidable"); var form = new formidable.IncomingForm(); form.uploadDir = global.yjGlobal.config.routeDirs[2].rootDir+"clientcompanyPic"; form.parse(sender.req,function(error,fields,files){ var fName = (new Date()).getTime(); var file = files.file<span style="font-family: Arial,Helvetica,sans-serif;">; //只上传一张图片 </span> switch (file.type){ case "image/jpeg": fName = fName + ".jpg"; break; case "image/png": fName = fName + ".png"; break; default : fName =fName + ".png"; break; } var uploadDir = "clientcompanyPic" + fName; sender.req.query=fields; sender.req.query.CompanyPicAddress="companyPic" + fName; try{ fs.renameSync(file.path,uploadDir); }catch(e){ console.log(e); } });需要注意的是from.uploadDir和uploadDir地址的赋值 1.保证目录一定存在。如果form.uploadDir不赋值,它默认的位置是C:User用户名AppDataLocalTemp,一般都是将文件存储到指定位置,故这个地址是要改的 2.目录一致。rom.uploadDir和uploadDir目录一致。 页面实现: $("#preview")[0].src=“...”//通过URL,根据自己情况直接读取地址 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |