加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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,根据自己情况直接读取地址

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读