admin 发布时间:2016-07-25 分类:分享 阅读:8532次 添加评论
前段代码需要与其他接口进行交互,ajax上传配置图片文件。代码用的是HTML5的FormData对象,FormData对象可以添加键值对来模拟我们用到的表单控件,将值转化为二进制传递。
HTML表单代码:
<form id="formTimeLine" class="form-horizontal no-margin form-border"> <div class="form-group"> <label class="col-md-2 control-label">发送的图片</label> <div class="col-md-8"> <input name="file-img" class="file-img" multiple accept=".jpg,.png" type="file"> </div> </div> </form>
上传的JavaScript代码:
var data = new FormData($("#formTimeLine")[0]); $.ajax({ type: 'POST', url: url, dataType: 'json', cache: false, processData: false, //需要正确设置此项 contentType: false, enctype: 'multipart/form-data', //需要正确设置此项 data: data, success: function (data) { //返回成功 }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert('error:'); } });
我们还可以不借助 HTML 表单,直接向 FormData 对象中添加一个 File 对象,来上传文件。
var oForm = new FormData(); oForm.append("file-img", myimg);
该特性可能有部分浏览器不支持。
关键字词: jQuery上传文件jQuery上传文件
发表评论:
◎欢迎您的参与讨论。