<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">用户头像上传</h4>
</div>
<div class="modal-body">
<section class="panel">
<div class="panel-body">
<form role="form" id="avatarFileForm" enctype="multipart/form-data">
<div class="form-group">
<div class="col-md-12">
<div class="fileupload fileupload-new"
data-provides="fileupload">
<div class="fileupload-new thumbnail"
style="width: 200px; height: 150px;">
<img src="data:images/default.jpg" alt="默认头像"
th:src="@{images/default.jpg}" />
</div>
<div class="fileupload-preview fileupload-exists thumbnail"
style="max-width: 200px; max-height: 150px; line-height: 20px;"></div>
<div>
<span class="btn btn-default btn-file"> <span
class="fileupload-new"><i class="fa fa-paper-clip"></i>选择图片</span>
<span class="fileupload-exists"><i class="fa fa-undo"></i>
更换</span> <input class="default" id="userAvatar" name="file"
type="file" />
</span> <a href="#" class="btn btn-danger fileupload-exists"
data-dismiss="fileupload"><i class="fa fa-trash"></i> 移除</a>
</div>
</div>
<br /> <span class="label label-danger ">NOTE!</span> <span>
1、缩略图仅支持最新的Firefox,Chrome,Opera,Safari和Internet Explorer 10 <br />
2、仅支持 .jpg、.jpeg或.png的图片格式!
</span>
</div>
</div> </form>
</div>
</section> </div>
<div class="modal-footer">
<button id="reset" type="button" class="btn btn-default"
data-dismiss="modal">关闭</button> <!-- data-dismiss="modal" 点击完模态框消失 -->
<button id="saveButton" type="button" class="btn btn-primary">提交</button>
</div>
</div>
</div>
<!--file upload-->
<link rel="stylesheet" type="text/css"
href="css/bootstrap-fileupload.min.css" />
<!--file upload-->
<script type="text/javascript" src="js/bootstrap-fileupload.min.js"></script>
<script th:inline="javascript">
/*<![CDATA[*/
var userId = [[${userId}]];
$('#avatarFileForm').bootstrapValidator(
{
message : 'This value is not valid',
feedbackIcons : {
valid : 'glyphicon glyphicon-ok',
invalid : 'glyphicon glyphicon-remove',
validating : 'glyphicon glyphicon-refresh'
},
fields : {
file: {
validators: {
notEmpty: {
message: '上传图片不能为空'
},
file: {
extension: 'png,jpg,jpeg',
type: 'image/png,image/jpg,image/jpeg',
message: '图片格式仅支持png,jpg,jpeg'
}
}
}
} }); $('#saveButton').click(
function() {
var flag = $('#avatarFileForm').bootstrapValidator('validate').data('bootstrapValidator').isValid();
//校验
if(flag){
$.ajax({
url: 'avatar/user-upload-avatar.json?id='+userId,
type: "POST",
data: new FormData($("#avatarFileForm")[0]),
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
success: function (result) {
console.log(result);
var msg = result.ajaxResultJson.msg;
if(result.ajaxResultJson.success){
//成功时退出对话框
$('#Modal').modal('hide');
}else{ }
layer.msg(msg);
},
error: function (result) {
var msg = result.ajaxResultJson.msg;
layer.msg(msg); }
}); }else{
layer.msg("请按格式要求上传!");
} }); /*]]>*/
</script>

文件上传FormData的更多相关文章

  1. ajax文件上传-FormData()

    HTML: <form action=""> <input type="file" id="file1" name=&qu ...

  2. vue使用formData进行文件上传

    本文为博主原创,未经允许不得转载 1.vue页面 <ux-form ref="formRef" layout="vertical"> <ux- ...

  3. 基于uploadify.js实现多文件上传和上传进度条的显示

    uploadify是JQuery的一个插件,主要实现文件的异步上传功能,可以自定义文件大小限制.文件类型.是否自动上传等属性,可以显示上传的进度条.官网地址是http://www.uploadify. ...

  4. 【JS】ajax 实现无刷新文件上传

    一.摘要 最近在做个东西,需要实现页面无刷新文件上传,目前看到的方法有两种 1) 通过隐藏iframe 实现页面无刷新,适用于不关心上传结果 <form target="hiddenF ...

  5. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    一.上传文件 上传一个图片 使用input type="file",来上传一个文件.注意:form表单必须添加属性enctype="multipart/form-data ...

  6. 文件上传去除"Content-Disposition: form-data"

    某个项目中为了统一处理文件上传业务,创建了一个FileUpload Handle,由于上传客户端用到各种技术,当时为了方便断点续传,就直接接收请求中的文件内容(可能是分片),所以处理的不是规范的htt ...

  7. 利用Formdata实现form提交文件上传不跳转页面

    作者:幻月九十链接:https://www.zhihu.com/question/19631256/answer/119911045来源:知乎著作权归作者所有,转载请联系作者获得授权. $('form ...

  8. Multipart/form-data POST文件上传详解

    Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...

  9. 表单同时有中文字段和文件上传,加上enctype="multipart/form-data"后导致的中文乱码问题

    因为一个表单需要同时上传字段和文件,所以加上enctype="multipart/form-data",但是上传后的中文字段变成了乱码. 把enctype="multip ...

随机推荐

  1. Very Good Article on How Git Commands Work

    http://stackoverflow.com/questions/30038999/differences-between-commit-commit-and-push-commit-and-sy ...

  2. 开机出现grub界面(待尝试)

    开机出现grub界面 试一下这个命令: grub> rootnoverify (hd0,0) grub> chainloader +1 grub> boot 这样就可以进入到wind ...

  3. java ----> java.lang.NoClassDefFoundError

    环境: centos 6.10,vim,jdk1.8_u72,zookeeper-3.4.6,maven3+ 正文: 使用zk的api操作创建节点发生java.lang.NoClassDefFound ...

  4. python2.x编码问题实例

    1,编码问题,主要是区分面向人类的字符串,面向计算机的字节序列 在python3中,字符串是str(默认即unicode),字节序列是bytes 在python2中,字符串是unicode,字节序列是 ...

  5. vue组件,axios ,路由

    组件(Component)自定义封装的功能. 把一个功能相关的[HTML.css和javascript]代码封装在一起组成一个整体的代码块封装模式,我们称之为“组件”. 组件就是一个html网页中的功 ...

  6. Digital Deletions HDU - 1404

    Digital deletions is a two-player game. The rule of the game is as following. Begin by writing down ...

  7. Maximum sub array

    Here I post a way to solve maximum sub array problem: The problem described like this: here is an ar ...

  8. chrome手机模拟器显示尺寸不正确

    存在问题: chrome网页调试器中小屏幕时显示尺寸不正确 原因: 自动调整了dpi,导致不是设计的结果 解决方法: 在<head>中添加如下语句: <meta name=" ...

  9. npm使用国内淘宝镜像的方法

    一.通过命令配置 1. 命令 npm config set registry https://registry.npm.taobao.org 2. 验证命令 npm config get regist ...

  10. Qt一步一步实现插件通信(附源码)

      前一章已经实现了主程序调用加载插件功能,这一章描述主程序和插件间通信功能 说道Qt的通信必须要了解信号和槽的机制原理,这里不做论述,不清楚的同学去看看信号和槽机制 不废话直接上步骤,在上一章的基础 ...