jquery input file 多图上传,单张删除,查看
<div class="form-group">
<label for="imgs" class="col-md-3 col-sm-3 control-label">设备图片:</label>
<div class="col-md-8 col-sm-8">
<div class="photo-box">
<div class="photo-box-icon">
<img style="width: 100%;" src="../../img/H5_addPhoto.png" alt="图片">
<input type="file" onchange="addPhoto(this,event)" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" id="imgs" />
</div>
</div>
</div>
</div>
.photo-box {
padding: 10px;
display: inline-block;
}
.photo-box-icon {
width: 50px;
height: 50px;
display: inline-block;
position: relative;
}
.photo-box-icon img {
width: 100%;
height: 100%;
}
.photo-box-icon input {
width: 50px;
height: 50px;
position: absolute;
top:;
opacity:;
}
.photo-add {
/*width: 230px;*/
width: 100px;
height: 100px;
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
border: 1px solid #32c5d2;
position: relative;
z-index:;
margin: 6px;
overflow: hidden;
}
.photo-add img {
width: 100%;
height: 100%;
background-size: contain;
}
.photo-add .closeIcon {
position: absolute;
top:;
background: #000;
opacity: 0.6;
height: 20px;
width: 100%;
display: none;
}
.photo-add .closeIcon .delPhoto-btn {
position: absolute;
right:;
width: 20px;
height: 18px;
top: 1px;
text-align: center;
cursor: pointer;
color: #fff;
}
//图片上传
var attachmentArr = [];
function addPhoto(file, e) {
var fileObj = file.files[0];
var formData = new FormData();
formData.append('upfile', fileObj);
var options = {
url: urls + "/file/uploadImage",
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
"author-token-key": localStorage.getItem('token')
},
success: function(rsp) {
// console.log('rsp',rsp)
imgs = $.parseJSON(rsp).url; //json 转对象
// console.log('imgs',imgs)
var innerHtml = '<div class="photo-add" onmouseover ="IconShow(this)" onmouseout ="IconHide(this)">' +
'<img src="' + imgs + '" alt = "添加照片" class="photoShow" onclick="viewBigPhoto(this)"/>' +
'<div class="closeIcon">' +
'<span class="delPhoto-btn" onclick="delPhoto(this)">' + "X" +
'</span>' +
'</div>' +
'</div>';
$(".photo-box").before(innerHtml);
attachmentArr.push(imgs);
//避免不能重复提交同一张图片
e.target.value = '';
},
error: function(e) {
layer.msg('上传失败,请重新上传')
console.log("网络错误!");
}
};
$.ajax(options);
}; //删除图标显隐
function IconShow(e) {
$(e).children('.closeIcon').show();
}; function IconHide(e) {
$(e).children('.closeIcon').hide();
}; //编辑时照片显示
function editPhotoShow(obj) {
// console.log('obj',obj)
if (obj) {
imgs = obj.split(';'); //分割一下下
};
var innerHtml = '';
for (var i = 0; i < imgs.length; i++) {
innerHtml += '<div class="photo-add" onmouseover ="IconShow(this)" onmouseout ="IconHide(this)">' +
'<img style = "width: 100%;" src=' + imgs[i] + ' alt = "添加照片" class="photoShow" onclick="viewBigPhoto(this)"/>' +
'<div class="closeIcon">' +
'<span class="delPhoto-btn" onclick="delPhoto(this)">' + "X" +
'</span>' +
'</div>' +
'</div>';
};
//获取编辑图片值
attachmentArr = [];
attachmentArr = imgs;
$(".photo-box").before(innerHtml);
};
//图片删除
function delPhoto(e) {
var thisImage = $(e).parent().parent().find('img').attr("src");
attachmentArr.remove(thisImage);
$(e).parent().parent().remove();
};
/*
*图片放大预览
*/
function viewBigPhoto(e) {
var imgSrc = $(e).attr('src');
$('#PhotoBigBox').modal('show');
$('.photoViewDiv img').attr('src', imgSrc);
};
jquery input file 多图上传,单张删除,查看的更多相关文章
- 项目总结21:项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库)
项目总结21:input实现多图上传(FormData)(上传OSS并保存数据库) 备注:本案例,作为Demo,包含少量的项目业务逻辑,input多图上传的逻辑是完整的: 不废话直接上代码 1-前端标 ...
- html input file标签的上传文件 注意点
文件上传框 代码格式:<input type=“file” name=“...” size=“15” input enctype="multipart/form-data“ maxl ...
- input file标签限制上传文件类型
用 input 的file类型标签上传文件,有时需要限制上传文件类型,添加accept属性可以实现 <input type="file" accept="image ...
- Springmvc file多附件上传 显示 删除操作
之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...
- layui多图上传实现删除功能
在使用layui的多图上传时发现没有删除功能 在网上搜索解决办法时有的感觉太复杂有的不符合自己所需要的所以就自己动手 下面附上代码 HTML: <div class="layui-up ...
- .NET File 多图上传
HTML代码: <div> <div> <input type="file" style="display:none" id=&q ...
- IE input file隐藏不能上传文件解决方法
当大神们都在探讨更深层次的问题时,我还在这里转载发些肤浅的问题解决方案.罢了,为了和我一样笨的后来人. 问题: 上传文件时,用<input type="file" /> ...
- 动态input file多文件上传到后台没反应的解决方法!!!
其实我也不太清除具体是什么原因,但是后面就可以了!!! 我用的是springMVC 自带的文件上传 1.首先肯定是要有springMVC上传文件的相关配置! 2.前端 这是动态input file上传 ...
- input file 多张图片上传 获取地址 ——fileReader
//上传图片 $('#files').change(function(e){ var fil = this.files; var m =0; if(fil.length>3){ alert('重 ...
随机推荐
- centos6.8安装python3.7.3报错Can't connect to HTTPS URL because the SSL module is not available问题解决
环境:CentOS release 6.8 (Final) # 直接编译python3.7在使用pip3安装依赖的时候报错: Can't connect to HTTPS URL because th ...
- Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file at brut.androlib.res.decoder.ARSCDecoder.decode
使用ApkIDE反编译出现如下错误: Exception in thread "main" brut.androlib.AndrolibException: Could not d ...
- List和List的区别?
List<T>和List<?>的区别,这问的有点含糊.我想题主是想问类型参数“<T>”和无界通配符“<?>”的区别吧? 讨论“<T>&quo ...
- vs2010 出错:error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏(转)
“LNK1123:转换到 COFF期间失败:文件无效或损坏”的解决方法 一.错误描述 之前写的程序隔段时间使用VS2010再次运行时出现如下错误: LINK fatal error LNK1123转换 ...
- 【esp8266】技术汇总帖
https://blog.csdn.net/xh870189248/article/details/80027961 这哥们 牛
- springboot整合mybatis的时候报错Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
今天闲来无事,学习springboot整合mybatis,在bilibili看视频学的,视频中在dao层的interface上面加上org.apache.ibatis.annotations.Mapp ...
- LODOP设置打印份数及是否逐份输出
LODOP中通过SET_PRINT_COPIES可以设置打印份数,例如:LODOP.SET_PRINT_COPIES(2);//指定份数为2份 如果一个任务里有多页,打印份数的时候,有两种输出方式,一 ...
- UMl类图基本认识
1.基本认识 1) UML——Unified modeling language UML (统一建模语言), 是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果2) ...
- confluence6.14.1linux安装破解
一.简介 Confluence为团队提供一个协作环境.在这里,团队成员齐心协力,各擅其能,协同地编写文档和管理项目.从此打破不同团队.不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了 ...
- LeetCode 206. 反转链表(Reverse Linked List) 16
206. 反转链表 206. Reverse Linked List 题目描述 反转一个单链表. 每日一算法2019/5/19Day 16LeetCode206. Reverse Linked Lis ...