2020-08-04

标题 html5上传多张图片 ,预览,并加入数据库 前台代码,注意我用的是easyui写的

找了一大堆资料,都不全面,所有自己整理出来一篇 第一种跟第二种差不多 有两种方法,建议第二种
后台代码在下一篇
html页面

form id="addServerForm">
<input name=”serverId” id=”serverId”>
图片上传<input  type="file"name="fileName"  id="filename"   multiple="multiple" accept="image/png, image/jpeg, image/jpg" onchange="onLoadImage()>	
		<div id="onLoadImage"></div>
<a id=”serverbtnSave” class=”easyui-linkbutton” 			 data-option=”iconCls:’icon-add’”>确定</a>
</form>

第一种方法 js

Js代码:
var imgObjPreview="";
function onLoadImage(avalue){
	 //获取选择图片的对象
    var docObj = document.getElementById("filename");
    //后期显示图片区域的对象
         var dd = document.getElementById("onLoadImage");
     dd.innerHTML = "";
     //得到所有的图片文件
     var fileList = docObj.files;
   //循环遍历
    for (var i = 0; i < fileList.length; i++) {    
             //动态添加html元素        
         dd.innerHTML += "<div style='float:left' > <img id='img" + i + "'  /> </div>";
         //获取图片imgi的对象
         var imgObjPreview = document.getElementById("img"+i); 
         console.log(imgObjPreview);
         if (docObj.files && docObj.files[i]) {
             imgObjPreview.style.display = 'block';
             imgObjPreview.style.width = '200px';
            imgObjPreview.style.height = '180px';
             imgObjPreview.src = window.URL.createObjectURL(docObj.files[i]);   //获取上传图片文件的物理路径
            	//圖片的地址
            	             console.log(imgObjPreview.src);
         }
        else {
            //IE下,使用滤镜
             docObj.select();
            var imgSrc = document.selection.createRange().text;
             //alert(imgSrc)
             var localImagId = document.getElementById("img" + i);
           //必须设置初始大小
            localImagId.style.width = "200px";
             localImagId.style.height = "180px";
             //图片异常的捕捉,防止用户修改后缀来伪造图片
             try {
                 localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                 localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
             }
             catch (e) {
                 alert("您上传的图片格式不正确,请重新选择!");
                 return false;
            }
             imgObjPreview.style.display = 'none';
             document.selection.empty();
        }
     }  
     return true;
}

第二种方法

function onLoadImage(){
	 if(checkImage()){
		var docObj = document.getElementById("filename");
		  //后期显示图片区域的对象
	    var dd = document.getElementById("onLoadImage");
		dd.innerHTML = "";
		//得到所有的图片文件
		var fileList = docObj.files;
	//$('#filename').get(0).files[0] 得到的值跟fileList一样
	    for(var i = 0; i < fileList.length; i++){
			var reader = new FileReader();
			 console.log(fileList[0]);
			 //将文件以Data URL形式读入页面
			 reader.readAsDataURL(fileList[i]);
			 reader.onload=function(){
			     //显示文件
				dd.innerHTML+='<a><img class="imgSrc" width="100px" src="' + this.result +'" alt="" /></a>';
			         }
			    }
		  }
}
function checkImage() {
    var fileName=$("#filename").val();
    var flag=true;
    if(fileName==""){
        flag=false;
        alert("请选择图片");
    }
    else{
        var size = $("#filename")[0].files[0].size;
        if(size/1000>2048){
            flag=false;
            alert("图片大小不能超过2M");
        }
    }
    if(!flag)
        $("#filename").val("");
    return flag;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值