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('重 ...
随机推荐
- Flutter BottomSheet底部弹窗效果
BottomSheet是一个从屏幕底部滑起的列表(以显示更多的内容).你可以调用showBottomSheet()或showModalBottomSheet弹出 import 'package:flu ...
- 十一、postman接口测试(安装nodejs和npm)
cmder安装:https://cmder.net/ node安装:https://nodejs.org/zh-cn/ 打开cmd命令,在命令提示窗输入 npm install -g cnpm --r ...
- bind智能DNS + bindUI管理系统(postgresql + bind dlz)
# 软件环境: * Centos 7.6 * bind-9.14.1.tar.gz * postgresql 11 * python 3.7 * django 2.2.1 QPS:单节点1590 qp ...
- 全面系统Python3入门+进阶-1-8 Python的前景
语言的热度. python在开发效率上有优势 大数据.人工智能 结束
- Centos7 手动编译 RabbitMQ ,并安装php amqp
RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统,底层基于Erlang语言. 一:centos7安装RabbitMQ 这玩意儿安装很扯淡,官方推荐rpm安装,rpm安装本身是最简单的 ...
- Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机
(1).虚拟化产品对比介绍 虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术:半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术:全虚拟化,这是 ...
- Day1作业2:多层菜单查询
流程图: code: #!/usr/bin/env python # encoding: utf-8 # Auther:ccorz Mail:ccniubi@163.com Blog:http://w ...
- VS2010/VS2012/VS2015下openGL环境配置(转)
按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...
- Vue学习笔记十二:vue-resource的基本使用
目录 HTML 浏览器效果 Vue不提倡使用操作DOM,所以Jquery不使用了,ajax也不使用了.所以,Vue给我们提供了一种和ajax差不多功能的指令,vue-resource HTML < ...
- jdk 7&8 new features
7 Diamond Operator(菱形操作符) You can omitted the type declaration of the right when working with Generi ...