1.jsp

  1. $("#cxsc").click(function(){
  2. var bankId = $("#bankId").val();
  3. var formdata = new FormData();
  4. formdata.append('logo', $('#btnFile').get(0).files[0]);
  5. formdata.append('bankId', bankId);
  6. $.ajax({
  7. type: 'POST',
  8. url: './uploadLogo',
  9. contentType : false,
  10. data : formdata,
  11. processData : false,
  12. dataType: "json",
  13. success: function (data) {
  14. $("#logoImg").attr('src','${_b}/upload/banklogo/'+data.msg);
  15. },
  16. error : function(data) {
  17. alert('上传失败!');
  18. }
  19. });
  20.  
  21. <#if formData?exists>
  22. <#if (formData.logoImg??)>
  23. <img src="${_b}/upload/banklogo/${formData.logoImg}" style="width:120px;height:120px;margin-bottom:5px;" id="logoImg"/>
  24. <br/>
  25. <input type="file" name="logo" id="btnFile" style="border:none;display:inline">
  26. <button type="button" id="cxsc" style="display:inline">上传</button>
  27. <#else>
  28. <input type="file" name="logo" style="border:none">
  29. </#if>
  30. <#else>
  31. <input type="file" name="logo" style="border:none">
  32. </#if>

2.controller

  1. @RequestMapping(value = "/uploadLogo", method = {RequestMethod.POST})
  2. public void uploadLogo(
  3. @RequestParam(value = "bankId", required = true) String bankId,
  4. @RequestParam("logo") MultipartFile logo,
  5. HttpServletRequest request, HttpServletResponse response, ModelMap model) {
  6. Json json = new Json();
  7. BankManage bankManage = bankManageService.getById(bankId);
  8. if (bankManage != null) {
  9. try {
  10. if (!logo.isEmpty()) {
  11. String relativePath = "/upload/banklogo";
  12. // 旧图片路径
  13. String absolutePath = request.getSession().getServletContext().getRealPath(relativePath)+"\\"+bankManage.getLogoImg();
  14. File oldfile = new File(absolutePath);
  15. if (oldfile.exists()) {
  16. oldfile.delete(); // 删除旧图片
  17. }
  18. String newPath = request.getSession().getServletContext().getRealPath(relativePath)+"\\"+logo.getOriginalFilename();
  19. File newFile = new File(newPath);
  20. logo.transferTo(newFile);
  21. bankManage.setLogoImg(logo.getOriginalFilename());
  22. bankManageService.update(bankManage);
  23. json.setMsg(logo.getOriginalFilename());
  24. writeJson(request, response, json);
  25. }else {
  26. json.setMsg("上传失败!");
  27. writeJson(request, response, json);
  28. }
  29. }catch (Exception e) {
  30. e.printStackTrace();
  31. logger.error(e);
  32. }
  33. }
  34. }

JavaWeb项目中使用ajax上传文件的更多相关文章

  1. javaWeb中使用ajax上传文件

    javaWeb上传图片 上传文件所必要的两个jar包:commons-fileupload.jar.commons-io.jar. jar包下载:github路径 核心代码: String withP ...

  2. ssm项目中常用的上传文件

    在项目中,上传文件一般是必不可少的,所以今天学到新的上传方式,就干脆将学习过的上传方式记录一下 一.表单直接上传图片 表单头要设置 <form action="" metho ...

  3. ajax上传文件显示进度

    下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...

  4. django系列6--Ajax05 请求头ContentType, 使用Ajax上传文件

    一.请求头ContentType ContentType指的是请求体的编码类型,常见的类型共有三种: 1.application/x-www-form-urlencoded 这应该是最常见的 POST ...

  5. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  6. springMVC+jsp+ajax上传文件

    工作中遇到的小问题,做个笔记 实现springMVC + jsp + ajax 上传文件 HTML <body> <form id="myform" method ...

  7. Ajax上传文件进度条显示

    要实现进度条的显示,就要知道两个参数,上传的大小和总文件的大小 html5提供了一个上传过程事件,在上传过程中不断触发,然后用已上传的大 小/总大小,计算上传的百分比,然后用这个百分比控制div框的显 ...

  8. 伪ajax上传文件

    伪ajax上传文件   最近在折腾伪ajax异步上传文件. 网上搜索了一下,发现大部分方法的input file控件都局限于form中,如果是在form外的呢? 必须动态生成一个临时form和临时if ...

  9. flask jQuery ajax 上传文件

    1.html 代码 <div> <form id="uploadForm" enctype="multipart/form-data" > ...

随机推荐

  1. 类似LIS+贪心(ZOJ1025)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=25 解题报告: #include <cstdio> #in ...

  2. centos6 编译安装gcc4.8.2

    12 wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.gz 13 rm -r -f g ...

  3. matlab 大块注释和取消注释的快捷键

    matlab 大块注释和取消注释的快捷键 注释:Ctrl+R 取消注释:Ctrl +T

  4. django.template.exceptions.TemplateSyntaxError: 'article_tags' is not a registered tag library.

    django.template.exceptions.TemplateSyntaxError: 'article_tags' is not a registered tag library. Must ...

  5. xcode怎样分析检测内存泄露(iOS)

    虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露, ...

  6. 微信小程序日期选择器

    /* JS代码部分 */ const date = new Date() const years = [] const months = [] const days = [] const hours ...

  7. 牛客小白月赛1 I あなたの蛙が帰っています 【卡特兰数】

    链接:https://www.nowcoder.com/acm/contest/85/I题目描述 あなたの蛙が帰っています!  蛙蛙完成了一趟旅行,回家啦!但它还是没有去它心中非常想去的几个地方.总共 ...

  8. BZOJ3671: [Noi2014]随机数生成器(贪心)

    Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 2098  Solved: 946[Submit][Status][Discuss] Descripti ...

  9. Struts2之基于配置的字段校验

    上一篇struts2之输入校验介绍了手动完成输入校验,也即依靠重写validate方法和validateXxx方法,指定请求某个方法时对传入的参数进行校验. 本篇介绍基于配置的字段校验.下面是登录的常 ...

  10. 天气预报api-汇总

    和风天气 https://www.heweather.com/