1.移动端直接用的input的file上传图片(name=“file”必填)

<input type="file"  id="exampleInputFile1"  accept="image/*" class="col-xs-3" name="file" >
<label for="exampleInputFile1" class="col-xs-3 InputFile">
<img src="img/signup/add.png" alt="" class=" add1"/>
</label>
 <div class="box1">
<label for="exampleInputFile1" class="col-xs-3">封面美照*</label>
<span class="help-block col-xs-9">(仅可以上传1张png/jpg格式的图片)</span>
<div class="col-xs-12">
<input type="file" id="exampleInputFile1" accept="image/*" class="col-xs-3" name="file" >
<div class="action1 col-xs-9"><!--展示图片页面-->
<label for="exampleInputFile1" class="col-xs-3 InputFile">
<img src="img/signup/add.png" alt="" class=" add1"/>
</label>
</div>
</div> </div>

2.js部分。因为input中的file值需要清空,FormData的值也需要清空。但是ios不支持清空,所以重置下FormData,每次成功之后新建这个对象,这样ios和android都支持了~

 $('#exampleInputFile1').on("change",function() {
var index;
index=layer.open({
type: 2
,content: '上传中'
});
// 创建
var form_data = new FormData();
// 获取文件
var file_data = $("#exampleInputFile1").prop("files")[0];//封面
form_data.append("file", file_data );
console.log(file_data );
if( file_data!=""){
$.ajax({
type: "POST",
url:config.api+"/public/upload",
enctype : "multipart/form-data",
dataType : "json",
processData: false, // 注意:让jQuery不要处理数据
contentType: false, // 注意:让jQuery不要设置contentType
data: form_data,
}).success(function(msg) {
form_data=new FormData ();//新建formdata!!!
/*form_data.delete("file");*/
$("#exampleInputFile1").val('');//清空input中的file值
layer.close(index);
$('.InputFile img').show();
if($('.img1').attr('src')==""){ } else{
$('.action1').append('<div class="cropped">' +
'<div class="image1 col-xs-3">'+
'<img src="'+msg.data+'" class="img1" id="show"/>'+
'<div class="delete1">'+"X"+'</div>'+
'</div>'+
'</div>');
$('.add1').remove();
$('.InputFile img').hide();
$('.InputFile').remove();
/* $('#exampleInputFile1').setAttribute('type','text');*/
/* $('.action1').append( '<div class="delete1">'+"X"+'</div>');*/
}
/*图片删除*/
$('.delete1').click(function () {
$("#exampleInputFile1").val('');
/*$(this).siblings().find('.cropped').remove();*/
$(this).parent().remove();
$(this).parent().parent().remove();
$(this).siblings().find('.delete1').remove();
$(this).remove();
$('.action1').append('<label for="exampleInputFile1" class="col-xs-3 InputFile">' +
'<img src="img/signup/add.png" alt="" class=" add1"/>' +
'</label>');
/*$('#exampleInputFile1').setAttribute('type','file');*/
});
console.log(msg);
}).fail(function(msg) {
console.log(msg);
});
} });

使用的layer移动版,引入layer.js和layer.css即可~

FormData中delete方法在ios不兼容的更多相关文章

  1. Hibernate&nbsp;Session的delete()方法

    本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. AD:  ...

  2. ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法

    原文 Examining the Details and Delete methods 作者 Rick Anderson 翻译 谢炀(Kiler) 校对 许登洋(Seay).姚阿勇(Mr.Yao) 打 ...

  3. ASP.NET MVC 学习8、Controller中的Detail和Delete方法

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and ...

  4. 【mybatis】service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据【事务的问题】

    问题描述: service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据 ...

  5. java中File的delete()方法删除文件失败的原因

    java中File的delete()方法删除文件失败的原因 学习了:http://hujinfan.iteye.com/blog/1266387 的确是忘记关闭了: 引用原文膜拜一下: 一般来说 ja ...

  6. 【Airtest】Airtest中swipe方法兼容不同分辨率的解决方法

    使用Airtest中swipe方法由于不同分辨率的手机上滑动的坐标位置不同,所以想要兼容所有的手机,仅仅靠固定坐标就会出现问题 想要兼容所有的手机,可以按照如下思路进行 1.首先获取手机的分辨率,可以 ...

  7. laravel中delete()方法和destroy()方法的区别

    delete()方法是实例方法,需要查询到相应的数据并通过模型实例调用 destroy()方法可以直接调用,通过索引删除记录 举个栗子: /*delete()方法删除*/ //先查找记录 $blog ...

  8. ASP.NET MVC 5 - 查询Details和Delete方法

    在这部分教程中,接下来我们将讨论自动生成的Details和Delete方法. 查询Details和Delete方法 打开Movie控制器并查看Details方法. public ActionResul ...

  9. iOS开发 - 兼容iOS 10

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

随机推荐

  1. Javaweb学习笔记——(十八)——————事务、DBCP、C3P0、装饰者模式

    事务     什么是事务?         转账:             1.给张三账户减1000元             2.给李四账户加1000元 当给张三账户减1000元之后,抛出了异常,这 ...

  2. 20155324 2016-2017-2 《Java程序设计》第8周学习总结

    20155324 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 通用API -** 日志API** 1.~java.util.logging~包提供了日志功 ...

  3. Simple Recurrent Unit,单循环单元

    SRU(Simple Recurrent Unit),单循环单元 src/nnet/nnet-recurrent.h 使用Tanh作为非线性单元 SRU不保留内部状态 训练时,每个训练序列以零向量开始 ...

  4. 配置虚拟机 Linux 静态IP

    一.查看IP.子网掩码.网关 虚拟网络编辑器 NAT中获取 取消勾选DHCP 二.查看DNS 虚拟机DNS与Windows设置相同 三.配置linux [root@lhs800 ~]# vi /etc ...

  5. 剑指Offer-滑动窗口的最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...

  6. #6279. 数列分块入门 3(询问区间内小于某个值 xx 的前驱(比其小的最大元素))

    题目链接:https://loj.ac/problem/6279 题目大意:中文题目 具体思路:按照上一个题的模板改就行了,但是注意在整块查找的时候的下标问题. AC代码: #include<b ...

  7. 【转】python 面向对象(进阶篇)

    [转]python 面向对象(进阶篇) 上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 ...

  8. UrlDecode

    void Decode(char *p){int i=0;while(*(p+i)){ if ((*p=*(p+i)) == '%') { *p=*(p+i+1) >= 'A' ? ((*(p+ ...

  9. python3之模块SMTP协议客户端与email邮件MIME对象

    转载自https://www.cnblogs.com/zhangxinqi/p/9113859.html 阅读目录 1.smtplib模块的常用类与方法 2.处理邮件MIME 3.实例 (1)使用HT ...

  10. 【转】细说new与malloc的10点区别

    1.申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存.自由存储区是C++基于new操作符的一个抽象概念,凡是通过new ...