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('重 ...
随机推荐
- openresty开发系列22--lua的元表
openresty开发系列22--lua的元表 举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作. 那如何计算两个table的相加 ...
- Qt获取时间戳作为图片名
Qt获取时间戳作为图片名 //保存图片 void SaveRealsenseImg() { QString picIndexName = dataSavePath; picIndexName.appe ...
- ES6深入浅出-11 ES6新增的API(上)-2.Array新增API
Array.form 把不是数组的东西变成数组.最常见的就是把伪数组变成数组 那么什么是伪数组 这就是伪数组,因为它不是继承自Array的原型的对象.它只是一个看起来很像数组的数组 只看下面的代码.a ...
- windows10 环境下的RabbitMQ安装步骤(图文)
第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang. 下载地址:http://www.erlang.or ...
- 敏感信息直接在 nginx 通过环境变量设置
通常我们在维护PHP线上项目的时候,为了隔离配置和代码,会使用fastcgi_param的形式将环境变量定义在Nginx的配置文件中(Apache可以使用SetEnv指令).这样在PHP-FPM运行过 ...
- word封面背景及水印背景
word封面背景及水印背景 觉得有用的话,欢迎一起讨论相互学习~Follow Me 制作封面 在制作商业项目申报书的时候我们想要封面尽可能美观,常用的方法是使用插入一张很大的图片作为背景. 标题等文本 ...
- 在excel图表上添加数据标签
在excel图表上添加数据标签 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://zhidao.baidu.com/question/47838665 方法与步骤 在E ...
- Spring Cloud API网关服务 5.2
为什么需要API网关 通过前面内容的学习,我们已经可以构建一个简单的微服务架构系统.这个系统可以使用Spring Boot实现微服务的开发,使用Spring Cloud Eureka实现注册中心以及服 ...
- 解决ubuntu的firefox上网速度慢【转】
在ubuntu上用firefox上网十分慢,但是在切换了chrome后发现上网速度很快,是解析域名上出现了问题,所以要为FF设置DNS缓存以提高速度.(在WIN下这个是自动设置好的,在ubuntu下需 ...
- java23种设计模式之十:责任链模式
最近在学习netty中发现其中用到了责任链模式,然后结合自己在写代码中遇到了大量写if...else的情况,决定学习一下责任链模式. 一.什么样的场景下会选择用责任链模式 我们在进行业务逻辑判断时,需 ...