<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. maven 把本地jar包打进本地仓库

    maven 把本地jar包打进本地仓库 1.本地有自己写的项目jar包,但是需要用maven依赖对其进行引用: 2.某个jar包在远程仓库没有,导致pom.xml报错,此时可以从网上单独下载此jar包 ...

  2. C语言流控制命令的总结

    C语言流控制命令的总结 基本概念: C语言中,自顶向下的的代码的流程叫做程序流. 能够改变程序流顺序的语句叫做流控制命令. 我为什么要写这篇文章 在学习C语言的过程中,经常会用到条件语句和循环语句这些 ...

  3. Linux上配置bond

    http://blog.csdn.net/wuweilong/article/details/39720571 一,配置设定文件[root@woo ~]# vi /etc/sysconfig/netw ...

  4. python模块--time & datetime

    time模块 #获取当前时间的时间戳 import time >>> time.time() 1535004894.0959966 #日期字符串转化成时间戳 >>> ...

  5. SQL SERVER 字符合并多行为一列

    [字符合并多行为一列] 思路1:行转列,在与字符拼接(适用每组列数名相同) 思路2:转xml,去掉多余字符(适用所有) 假设兴趣表Hobbys Name Hobby 小张 打篮球 小张 踢足球 Nam ...

  6. React文档(一)安装

    React是一个灵活的可以用于各种不同项目的框架,你可以用它来写新应用,你也可以逐步将它引进已有的代码库而不用重写整个项目. 试用React 如果你想玩一玩React,那么就去CodePen上试一试. ...

  7. csu oj 1342: Double

    Description 有一个由M个整数组成的序列,每次从中随机取一个数(序列中每个数被选到的概率是相等的)累加,一共取N次,最后结果能被3整除的概率是多少? Input 输入包含多组数据.     ...

  8. SET构造函数

    set<int,greater<int>> S; 可以在第二个参数位置设置比较模板,效果和sort类似,less表示升序,greater表示降序.这样做的好处是为了方便应对题目 ...

  9. python 绝版线程池

    2.绝版线程池设计思路:运用队列queue a.队列里面放任务 b.线程一次次去取任务,线程一空闲就去取任务 import queueimport threadingimport contextlib ...

  10. 本地仓库有jar包maven依然报错的原因

    本地Maven仓库有所需jar包依然报错,missing……………… 既然有这个jar包为什么还会报错呢? 找到本地仓库后发现里面有一个_remote.repositories文件 问题在_remot ...