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. SQLite 数据库介绍和基本用法

    Ø  简介 SQLite 是一款轻量级的关系型数据库,同时也是一种嵌入式数据库,与 Oracle.MySQL.SQL Server 等数据库不同,它可以内嵌在程序中,是程序中的一个组成部分.所以,经常 ...

  2. C#基础_MD5

    MD5加密 1创建Md5 2.开始加密,需要将字符转换为字节数组 3.返回一个加密好的字节数组 4.将字节数组中每个元素按照指定的编码格式解析成字符串 1 static void Main(strin ...

  3. SQL Server 远程备份详解

    例1: 有A数据库服务器,B本机: 我现在想通过在B机器上通过代码调用SQL来执行A数据库的备份到B机器上 调用的SQL语句为:Backup Database MYDATABASE To Disk=' ...

  4. oracle 窗口函数 (keep)

    看到很多人对于keep不理解,这里解释一下! Returns the row ranked first using DENSE_RANK2种取值:DENSE_RANK FIRSTDENSE_RANK  ...

  5. SpringBoot学习笔记<一>入门与基本配置

    毕业实习项目技术学习笔记 参考文献 学习视频 2小时学会Spring Boot:https://www.imooc.com/learn/767 学习资料 SpringBoot入门:https://bl ...

  6. github上face_recognition工程项目实践

    一.安装开发环境 1.安装dlib和相关Python依赖 先下载dlib源码: git clone https://github.com/davisking/dlib.git 编译dlib源码:(可以 ...

  7. java 写 Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  8. JAVA进阶2

    间歇性混吃等死,持续性踌躇满志系列-------------第2天 1.父类子类继承(注:一个JAVA源文件中只能有一个public类,public 类的名字必须和这个编译单元的文件名完全相同,包括大 ...

  9. ==,hashcde, equals(一)

    1.Hash  的属性, 1)bucket 和 list 2.java.lang.object 的 hashcode 和 equal 通过内存地址比较 3.为什么要重写hashcode 和 equal ...

  10. ASP.NET - ADO.NET框架

    ADO.NET(ActiveX Data Objects) ADO.NET是一个COM组件库,用于在使用Microsoft技术的代码中访问数据库. SQL数据操作类 SqlConnection类(Sy ...