<tr>
<td class="listtitle-up">尿素箱</td>
<td>
<div class="comtainerimg upimg-div floatleft">
<input type="hidden" value="" id="photo-4" name=""/>
</div>
<div class="z_photo floatleft" >
<section class="z_file fl">
<img src="mrm/css/bigimg/a11.png" class="add-img">
<input type="file" name="file" id="file4" class="file" value="" accept="image/jpg,image/jpeg,image/png,image/bmp,image/PNG" multiple style="opacity: 0"/>
</section>
</div>
<a class="removelist" href="javascript:">
<i class="fa fa-trash-o" ></i>
<a>
</td>
</tr> <aside class="mask works-mask" style="display: none;">
<div class="mask-content">
<h3>删除图片</h3>
<p class="del-p">您确定要删除吗?</p>
<p class="check-p"><span class="del-com wsdel-ok"><i class="glyphicon glyphicon-ok"></i> 确定</span><span class="wsdel-no"><i class="glyphicon glyphicon-remove"></i>取消</span></p>
</div>
</aside>
$(function(){
var delParent;
var defaults = {
fileType : ["jpg","png","bmp","jpeg","PNG"], // 上传文件的类型
fileSize : 1024 * 1024 * 10 // 上传文件的大小 10M
};
/*点击图片的文本框*/
var j=0;
$(document).on('change','.file',function(){ var imgsrc= "";//声明图片的路径
var creatarry=new Array();
// $(".file").change(function(){alert("1");
var idFile = $(this).attr("id");
var file = document.getElementById(idFile);
var imgContainer = $(this).parents(".z_photo").siblings('.comtainerimg'); //存放图片的父亲元素
var fileList = file.files; //获取的图片文件
console.log(fileList+"======filelist=====");
var input = $(this).parent();//文本框的父亲元素
var imgArr = [];
//遍历得到的图片文件
var numUp = imgContainer.find(".up-section").length;
var totalNum = numUp + fileList.length; //总的数量
// 声明新input
var newinput="<input type='file' name='file' id='newfile' class='file' value='' accept='image/jpg,image/jpeg,image/png,image/bmp,image/PNG' multiple style='opacity: 0'/>";
// if(fileList.length > 5 || totalNum > 5 ){
// alert("上传图片数目不可以超过5个,请重新选择"); //一次选择上传超过5个 或者是已经上传和这次上传的到的总数也不可以超过5个
// }
// else if(numUp < 5){
fileList = validateUp(fileList); for(var i = 0;i<fileList.length;i++){
var imgUrl = window.URL.createObjectURL(fileList[i]);
imgArr.push(imgUrl);
var $section = $("<section class='up-section fl loading'>");
imgContainer.append($section);
var $span = $("<span class='up-span'>");
$span.html(fileList[i].name).appendTo($section); var $img0 = $("<img class='close-upimg' src='/hvdm/r/mrm/css/bigimg/a7.png'>").on("click",function(event){
event.preventDefault();
event.stopPropagation();
$(".works-mask").show();
delParent = $(this).parent();
});
$img0.appendTo($section);
var $a = $("<a rel='lightbox-group'>");
$a.attr("href",imgArr[i]);
var $img = $("<img class='up-img up-opcity'>");
$img.attr("src",imgArr[i]);
$img.appendTo($a);
$a.appendTo($section);
var $p = $("<p class='img-name-p'>");
$p.html(fileList[i].name).appendTo($section);
var $input = $("<input id='taglocation' name='taglocation' value='' type='hidden'>");
$input.appendTo($section);
var $input2 = $("<input id='tags' name='tags' value='' type='hidden'/>");
$input2.appendTo($section); // imgsrc+=imgArr[i]+",";//循环 累加href值
imgsrc+=imgArr[i];//循环 累加href值
creatarry.push(imgArr[i]);//将href各个 值存入到数组中 }
var srcval=imgContainer.find("section").siblings('input').val(); //第二次点击添加图片 之前的href链接地址;
if(srcval){//如果有地址 说明是第二次点击效果;
var oldsrc=srcval.split(";"); //将之前存入的 链接 转为数组
oldsrc.concat(creatarry); //并拼接 现在上传点击的图片链接
imgContainer.find("section").siblings('input').val(oldsrc.concat(creatarry).join(';'));//并赋给 input值
setTimeout(function(){ //执行加载效果,结束事件
$(".up-section").removeClass("loading");
$(".up-img").removeClass("up-opcity");
},450);
// console.log($('.file').val());$('.file').val(''); $(this).hide();
console.log($(this).val());
$(this).parents('.z_file').append("<input type='file' name='file' id='newfile" + j + "' class='file' value='' accept='image/jpg,image/jpeg,image/png,image/bmp,image/PNG' multiple style='opacity: 0'/>");
j=j+1;
return false;
}
imgContainer.find("section").siblings('input').val(creatarry.join(';')+";"+imgContainer.parents("tr").find(".listtitle-up").html());//给隐藏域追加所有href值
if(srcval){alert("0");
var newvalue=imgContainer.find("section").siblings('input').val(creatarry.join(';')+";"+imgContainer.parents("tr").find(".listtitle-up").html());
alert("1");
imgContainer.find("section").siblings('input').val(newvalue);
}
// }
setTimeout(function(){
$(".up-section").removeClass("loading");
$(".up-img").removeClass("up-opcity");
},450);
numUp = imgContainer.find(".up-section").length;
if(numUp >= 5){
// $(this).parent().hide();
} //input内容清空
// $(this).val("");
//限制字符个数
$(".up-span").each(function() {
var maxwidth = 6;
if ($(this).text().length > maxwidth) {
$(this).text($(this).text().substring(0, maxwidth));
$(this).html($(this).html() + '...');
}
}); $(this).hide();
console.log($(this).val());
$(this).parents('.z_file').append("<input type='file' name='file' id='newfile" + j + "' class='file' value='' accept='image/jpg,image/jpeg,image/png,image/bmp,image/PNG' multiple style='opacity: 0'/>");
j=j+1;
console.log(j); }); $(".z_photo").delegate(".close-upimg","click",function(){
$(".works-mask").show();
delParent = $(this).parent();
imgsrcs=$(this).parents("section").siblings('input');
}); $(".wsdel-ok").click(function(){
$(".works-mask").hide();
var numUp = delParent.siblings().length;
// var srcall=imgsrcs.val();
if(numUp < 6){
delParent.parent().find(".z_file").show();
}
var srcinput=delParent.siblings('input');//声明 被删除的 行中的隐藏input
var srcall=delParent.siblings('input').val();//声明input的值
var srcallarry=srcall.split(';');//将input的val值转为数组
var thissrc=delParent.find('a').attr('href'); //查找要删除的图片链接值
delParent.remove(); //移除 section 标签域
// var nullarry=new Array();//声明空 数组
for(var j=0;j<=srcallarry.length;j++){//循环 input中 的val值 ,除需要删除的链接值
if(srcallarry[j]==thissrc){
srcallarry.splice(j,1);
j=j-1;
// nullarry.push(srcallarry[j]);//将除删除连接的值存入空数组
}
}
srcinput.val(srcallarry.join(';'));//新数组的值 赋给input
if(numUp==1){
srcinput.val('');
} }); $(".wsdel-no").click(function(){
$(".works-mask").hide();
}); function validateUp(files){
var arrFiles = [];//替换的文件数组
for(var i = 0, file; file = files[i]; i++){
//获取文件上传的后缀名
var newStr = file.name.split("").reverse().join("");
if(newStr.split(".")[0] != null){
var type = newStr.split(".")[0].split("").reverse().join("");
console.log(type+"===type===");
if(jQuery.inArray(type, defaults.fileType) > -1){
// 类型符合,可以上传
if (file.size >= defaults.fileSize) {
alert(file.size);
alert('您这个"'+ file.name +'"文件大小过大');
} else {
// 在这里需要判断当前所有文件中
arrFiles.push(file);
}
}else{
alert('您这个"'+ file.name +'"上传类型不符合');
}
}else{
alert('您这个"'+ file.name +'"没有类型, 无法识别');
}
}
return arrFiles;
} })

 

上传多张图片imgupload的更多相关文章

  1. iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样

    // 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...

  2. php用jquery-ajax上传多张图片限制图片大小

    php用jquery-ajax上传多张图片限制图片大小 /** * 上传图片,默认大小限制为3M * @param String $fileInputName * @param number $siz ...

  3. 微信JSSDK上传多张图片

    之前是使用for循环实现的,但是安卓手机没有问题,苹果手机只能上传最后一张图片. 好在有高手在前面趟路,实用的循环调用.苹果是没有,安卓不清楚.以下内容转自:http://leo108.com/pid ...

  4. 整理几个js上传多张图片的效果

    一.普通的上传图片,张数不限制 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"&g ...

  5. 如何在IPFS里面上传一张图片

    之前有好几人问过小编,想在IPFS里面上传一张图片.如何做? 今天小编就讲一下如何在IPFS里面上传.下载文件? 1 下载IPFS软件 下载地址:https://dist.ipfs.io/#go-ip ...

  6. Ajax+PHP实现异步上传多张图片

    Ajax+PHP实现异步上传多张图片 HTML代码 <!-- date: 2018-04-27 13:46:55 author: 王召波 descride: 多张图片上传 --> < ...

  7. 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码

    1上传多张图片, 要对 $_FILES进行 重新处理. //添加 public function addCourseAlbumAction() { $CourseAlbumModel = new Co ...

  8. Okhttp3上传多张图片同时传递参数

    之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. ...

  9. POST请求上传多张图片并携带参数

    POST请求上传多张图片并携带参数 在iOS中,用POST请求携带参数上传图片是非常恶心的事情,HTTPBody部分完全需要我们自己来配置,这个HTTPBody分为3个部分,头部分可以携带参数,中间部 ...

随机推荐

  1. ASP.NET Core SignalR CORS 跨域问题

    将 SignalR 集成到 ASP.NET Core api 程序的时候,按照官方 DEMO 配置完成,本地访问没有问题,但是发布之后一直报跨域问题,本地是这样设置的: 原始代码: services. ...

  2. NetCore入门篇:(一)Net Core环境安装

    一.下载Visual Studio 2017 1.下载地址:https://www.visualstudio.com/zh-hans/downloads/ 2.选择要下载的版本 二.安装Net Cor ...

  3. SharePoint列表数据清除

    --获取站点对象 $spWeb =get-spweb http://123.sinochem.com --获取具体列表对象 $spList =$spWeb.GetListFromUrl("h ...

  4. C#扩展一个现有的类

    做个记录,写个示例 using System; class Rubbish { public void Say() { Console.Write("Hello"); } } st ...

  5. 【转】4G18的低成本NA玩法

    首先是要再次强调一次,4G18的缸径是76MM,冲程是87.5MM.属于典型的长冲程低转发动机! 这种设计的优点是比较适合市区走停的工作状况,省油. 如果要针对改装方案而言因为这种低转时便可输出大扭矩 ...

  6. Open vSwitch 2.9.2 创建 RPM 安装包

    1.安装依赖环境 yum install gcc make python-devel openssl-devel graphviz autoconf automake rpm-build redhat ...

  7. 【新题】ocp 062 2019年考试新题-3

    3.A database is open read write and the instance has multiple sessions some of which have active tra ...

  8. 第八天,scrapy的几个小技巧

    一. 微博模拟登陆 1. 百度搜微博开放平台可满足爬取量不大的情况 2. 微博模拟登陆和下拉鼠标应对ajax加载 from selenium import webdriver import time ...

  9. 使用ie的filter来解决rgba在IE8下没有效果的问题

    使用ie的filter来解决rgba在IE8下没有效果的问题,css代码如下: background: rgba(255,255,255,0.1); filter:progid:DXImageTran ...

  10. chrome下uploadify导致页面崩溃

    解决方法在初始化uploadify之前用timeout来延迟加载 $(function(){     setTimeout(function(){         $('#file_upload'). ...