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. 关于HTTP的笔记

    网上看了一篇关于HTTP的博客,觉得还不错,这里就记下来了. 参考:https://www.cnblogs.com/guguli/p/4758937.html 一.主要特点 1.支持客户/服务器模式2 ...

  2. Android手机特殊软件配置

    1. 安装360一键root http://root.360.cn/ 2.安装SSHdroid 用于启用手机的ssh 地址:https://www.apk20.com/apk/77332/v/7346 ...

  3. java保留字

    //*********java保留字 //*********访问控制 private //私有 protected //受保护 public //公共 //*********类.方法和变量修饰符 ab ...

  4. [C++]基于Curses库的实时系统监测可视化系统-2017-12-09 15-07-42

    Congratulations 0.0 技术记录 [1]  [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302'或者'\240' in program”的解决方案 [2 ...

  5. 迅为6818开发板-Cortex-A5架构丨支持4G全网通丨GPS丨WIFI丨另有丰富的扩展模块

    迅为6848开发板-S5P6818芯片采用Cortex-A53架构! Cortex-A53和其高端兄弟Cortex-A57一样都是64位架构,实目前ARM的主力,且二者的指令集是完全兼容的,可以组成新 ...

  6. Karel版本的nnet1

    除了chain,nnet1, nnet2, nnet3训练时调整转移模型,chain模型使用类似与MMI的训练准则 概要 Karel Vesely的nnet1用到以下技术: 每一层进行预训练,基于RB ...

  7. MFCC/Filter Bank的提取流程

    预加重:通过一个一阶有限激励响应高通滤波器,使信号的频谱变得平坦,不易受到有限字长效应的影响. 分帧:根据语音的短时平稳特性,语音可以以帧为单位进行处理,实验中选取的语音帧长为32ms,帧移为16ms ...

  8. C#后台画图保存为ipg/png的文件

    public void Exec1()        { string imgurl = @"http://api.senwoo.com/Content/HeadPortrait/" ...

  9. Java-Servlet--《12-WEB应用中的普通Java程序如何读取资源文件.mp4》 有疑问

    \第五天-servlet开发和ServletConfig与ServletContext对象\12-WEB应用中的普通Java程序如何读取资源文件.mp4; 多层时,DAO为了得到资源文件中的配置参数: ...

  10. MongoDB 学习手册 - CURD

    mongoDB 增加数据 // mongoDB 增加数据: //新增数据insert( 字典 ) 表示插入一条数据,insert([字典]) 表示插入多条数据 // db.text01.insert( ...