<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. datagrid复制

    private void Dgv_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)1) // Ctrl-A ...

  2. 雷林鹏分享:XML 语法规则

    XML 语法规则 XML 的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有的 XML 元素都必须有一个关闭标签 在 HTML 中,某些元素不必有一个关闭标签: This is a ...

  3. Jenkins与Gitlab集成

    一.安装jenkinshttps://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/     #清华yum源 yum -y install java-1.8. ...

  4. LeetCode--303--区域和检索 - 数组不可变

    问题描述: 给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1 ...

  5. hihocoder-1415 后缀数组三·重复旋律3 两个字符串的最长公共子串

    把s1,s2拼接,求Height.相邻的Height判断左右串起点是否在两个串中,另外对Height和s1.length()-SA[i-1]取min. #include <iostream> ...

  6. 倒排索引(Inverted Index)

    倒排索引(Inverted Index) 倒排索引是一种索引结构,它存储了单词与单词自身在一个或多个文档中所在位置之间的映射.倒排索引通常利用关联数组实现.它拥有两种表现形式: inverted fi ...

  7. Spring Batch JSR-305 支持

    本发布版本中为 JSR-305 支持添加了一个注解.这个为了与 Spring 框架中的  Null-safety 注解取得平衡,然后为 Spring Batch 添加为 public APIs. 这个 ...

  8. Vue.js总结 [2017.6.5]

    <head> <script src="https://unpkg.com/vue/dist/vue.js"></script> </he ...

  9. 小程序for循环嵌套

    <view class='nocontnt' wx:if="{{listLength == 0 }}"> 暂无相关评论 </view> <view c ...

  10. mysql 8.0.12 修改root密码

    use mysql: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVI ...