注意:请求实体过大的问题,请修改Nginx服务器的大小(百度参考413 Request Entity Too Large 的解决方法)
jsp:<input type="file"  style="height: 114px;width: 100%;position: absolute;opacity: 0;" name="file1" id="file1" >

$(function(){$("#file1").change(function(){//创建FormData对象var data = new FormData();//为FormData对象添加数据$.each($('#file1')[0].files, function(i, file) {data.append('upload_file', file);});$.ajax({url:'${pageContext.request.contextPath}/uploadImage',type:'POST',data:data,cache: false,contentType: false,    //不可缺processData: false,    //不可缺success:function(data){//显示追加var imgUrl="/"+data;var showImg = "<div class='img-item'>" +"<img src='" + imgUrl + "'>" +"<span class='close-item iconfont'></span>" +"</div>";$("#addImg").before(showImg);//数据追加var inputImg = "<input type='hidden' name='postImage'value='" + imgUrl + "' >";$("#typeId").after(inputImg);}});});});

java后台部分:

 1     @RequestMapping(value = "/uploadImage", method = RequestMethod.POST)
 2     @ResponseBody
 3     public String uploadImage(HttpServletRequest request) throws IOException {
 4         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
 5         Iterator<String> iterator = multipartRequest.getFileNames();
 6         String fileName = "";
 7         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 8         String dir = "upload/" + sdf.format(new Date()) + "/";
 9         String realPath = request.getSession().getServletContext().getRealPath("/");
10         while(iterator.hasNext()){
11             MultipartFile multipartFile = multipartRequest.getFile(iterator.next());
12             if(multipartFile != null){
13                 String fn = multipartFile.getOriginalFilename();
14                 String suffix = fn.substring(fn.lastIndexOf("."));
15                 fileName = dir  + Utils.getRandomStringByLength(6) + suffix;
16                 String path = realPath + fileName;
17                 path = path.replace("\\", "/");
18                 File f = new File(path);
19                 if(!f.mkdirs()){
20                     f.mkdir();
21                 }
22                 multipartFile.transferTo(f);
23             }
24         }
25         return fileName;
26     }
27   //    上面方法需要用到下面的方法
28   public String getRandomStringByLength(int length) {
29         String base = "abcdefghijklmnopqrstuvwxyz0123456789";
30         Random random = new Random();
31         StringBuffer sb = new StringBuffer();
32         for (int i = 0; i < length; i++) {
33             int number = random.nextInt(base.length());
34             sb.append(base.charAt(number));
35         }
36         return sb.toString();
37     }

转载于:https://www.cnblogs.com/dwb91/p/6699110.html

java Web 文件上传相关推荐

  1. java web文件上传所需要的commons-fileupload和 commons-io jar包

    文章目录 一.官网获取 二.百度网盘分享 三.分享与热爱 一.官网获取 学习java web文件上传时需要用到两个必备的jar包: commons-fileupload commons-io jar ...

  2. java web文件上传详解_java web图片上传和文件上传实例详解

    java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...

  3. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  4. java web 文件上传和下载

     在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直 ...

  5. Java Web 文件上传下载

    文章目录 1文件上传概述 1.1文件上传的作用 1.2文件上传对页面的要求 1.3 比对文件上传表单和普通文本表单的区别 1.4 对普通文本表单的测试 1.5 文件上传对Servlet的要求 2 co ...

  6. java web 文件上传_Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思 ...

  7. Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)

    基本概念 Apache Commons FileUpload :Apache Commons FileUpload组件提供了一种简单而灵活的方法,可以将对多部分文件上传功能的支持添加到Servlet和 ...

  8. java web 上传附件_JAVA WEB文件上传步骤

    JAVA WEB文件上传步骤如下: 实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中. 1.Web 端上传文件. ...

  9. centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载

    1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...

最新文章

  1. ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI
  2. 机器学习是科学还是“炼金术”?
  3. 超级有意思的代码注释
  4. 启明云端感谢热心开发者分享SSD20x直接编译lvgl7.10带双缓(附源码)
  5. VTK:Utilities之CardinalSpline
  6. canal数据同步(应用场景)
  7. 单例模式懒汉式(线程安全写法)
  8. 几种流行的JS框架的选择
  9. ZooKeeper官方文档学习笔记02-ZooKeeper入门指南
  10. Python简单GUI(录音机)
  11. 全解小程序猜数字游戏 04《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》
  12. libcef和js交互
  13. 15个提高编程技巧的 JavaScript工具
  14. 来电时不会发送本地通知
  15. python3学习笔记---类
  16. 投资组合分析的 GE McKinsey 矩阵
  17. 异步清零和同步清零的区别
  18. POJ1753 翻转游戏 题解
  19. salesforce lightning 入门(一)
  20. Discuz注册推广与访问推广

热门文章

  1. CvSVM::EPS_SVR train_auto assertion sv_count != 0 failed原因
  2. matlab2015a支持的usb webcams support package
  3. jsp mysql在线考试系统源码_课内资源 - 基于JSP和MYSQL数据库实现的在线考试系统...
  4. kettle预览点两下才出数_孩子过生日选“阴历”还是“阳历”?有3点讲究,需斟酌再决定...
  5. 图像阈值处理cv2.threshold()函数(python)
  6. 第二章:2.4 卷积性质
  7. CF438E The Child and Binary Tree 生成函数、多项式开根
  8. python csv 模块的使用
  9. ubuntu下 将证书导入java的cacerts证书库
  10. 网络编程 socket模块 tcp协议 udp协议