java Web 文件上传
注意:请求实体过大的问题,请修改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 文件上传相关推荐
- java web文件上传所需要的commons-fileupload和 commons-io jar包
文章目录 一.官网获取 二.百度网盘分享 三.分享与热爱 一.官网获取 学习java web文件上传时需要用到两个必备的jar包: commons-fileupload commons-io jar ...
- java web文件上传详解_java web图片上传和文件上传实例详解
java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...
- java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...
- java web 文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直 ...
- Java Web 文件上传下载
文章目录 1文件上传概述 1.1文件上传的作用 1.2文件上传对页面的要求 1.3 比对文件上传表单和普通文本表单的区别 1.4 对普通文本表单的测试 1.5 文件上传对Servlet的要求 2 co ...
- java web 文件上传_Javaweb学习笔记10—文件上传与下载
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思 ...
- Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)
基本概念 Apache Commons FileUpload :Apache Commons FileUpload组件提供了一种简单而灵活的方法,可以将对多部分文件上传功能的支持添加到Servlet和 ...
- java web 上传附件_JAVA WEB文件上传步骤
JAVA WEB文件上传步骤如下: 实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中. 1.Web 端上传文件. ...
- centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载
1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...
最新文章
- ajax提交相对路径报错,ajax提交请求为啥url要用这个函数encodeURI
- 机器学习是科学还是“炼金术”?
- 超级有意思的代码注释
- 启明云端感谢热心开发者分享SSD20x直接编译lvgl7.10带双缓(附源码)
- VTK:Utilities之CardinalSpline
- canal数据同步(应用场景)
- 单例模式懒汉式(线程安全写法)
- 几种流行的JS框架的选择
- ZooKeeper官方文档学习笔记02-ZooKeeper入门指南
- Python简单GUI(录音机)
- 全解小程序猜数字游戏 04《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》
- libcef和js交互
- 15个提高编程技巧的 JavaScript工具
- 来电时不会发送本地通知
- python3学习笔记---类
- 投资组合分析的 GE McKinsey 矩阵
- 异步清零和同步清零的区别
- POJ1753 翻转游戏 题解
- salesforce lightning 入门(一)
- Discuz注册推广与访问推广
热门文章
- CvSVM::EPS_SVR train_auto assertion sv_count != 0 failed原因
- matlab2015a支持的usb webcams support package
- jsp mysql在线考试系统源码_课内资源 - 基于JSP和MYSQL数据库实现的在线考试系统...
- kettle预览点两下才出数_孩子过生日选“阴历”还是“阳历”?有3点讲究,需斟酌再决定...
- 图像阈值处理cv2.threshold()函数(python)
- 第二章:2.4 卷积性质
- CF438E The Child and Binary Tree 生成函数、多项式开根
- python csv 模块的使用
- ubuntu下 将证书导入java的cacerts证书库
- 网络编程 socket模块 tcp协议 udp协议