- 浏览: 498493 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
Multipart工作原理
按照Multipart规定的格式将文件名和文件内容在请求中发送到服务器中
服务器从请求流中得到文件名和文件内容放入到Multipart定义的类中,
服务器处理请求中再在服务器生成相关的文件目录,并将内容保存到服务器中去
Spring applicationContext.xml配置文件:
单文件方式实现:
HTML:
JAVA:
方法1:
方法2:
多文件方式实现:
HTML:
JAVA:
方法1:
方法2:参考单单文方式实现方法2,不过HTML文件中的name要不一样
thumbnails可实现图片的压缩功能(PictureUtils.java)
http://blog.csdn.net/yaohucaizi/article/details/9718861
按照Multipart规定的格式将文件名和文件内容在请求中发送到服务器中
服务器从请求流中得到文件名和文件内容放入到Multipart定义的类中,
服务器处理请求中再在服务器生成相关的文件目录,并将内容保存到服务器中去
Spring applicationContext.xml配置文件:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes --> <property name="maxUploadSize" value="100000"/> </bean>
单文件方式实现:
HTML:
<form action="http://localhost:8080/v1/TestUploadImage" method="post" id="iconForm" enctype="multipart/form-data"> <table> <tr> <td>头像</td> <td><input id="iconImg" name="iconImg" type="file"/></td> <td><input type="submit" value="上传"/></td> </tr> </table> </form>
JAVA:
public static String uploadFile(String uploadDir, MultipartFile file, Boolean existReplace) { String logString = "FileIOUtils uploadFile : "; String returnMsg = null; String fileName = file.getOriginalFilename(); logger.info(logString + "fileName == " + fileName); File targetFile = new File(uploadDir, fileName); logger.info(logString + "targetFile == " + targetFile); // 文件存在 if (!targetFile.exists()) { logger.info(logString + "targetFile is not exist"); // 新建文件目录 targetFile.mkdirs(); } else { logger.info(logString + "targetFile is exist"); if (!existReplace) { logger.info(logString + "existReplace is false"); returnMsg = "exist"; return returnMsg; // 存在不进行替换,直接返回true } } // 保存文件 try { file.transferTo(targetFile); } catch (Exception e) { logger.error(logString + "targetFile save fail == " + e); returnMsg = "false"; return returnMsg; } returnMsg = "true"; logger.info(logString + "returnMsg == " + returnMsg); return returnMsg; } }
方法1:
@RequestMapping(value = "/TestUploadImage", produces = "text/plain;charset=UTF-8") public @ResponseBody String iconUpload(@RequestParam(value = "iconImg") MultipartFile iconImg,HttpServletRequest request,String aas ){ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; String fileName=multipartFile.getOriginalFilename(); if (fileName==null){ System.out.println("fileName==null"); } if (fileName==""){ System.out.println("fileName==''"); } String tempfilename; if (System.getProperty("os.name").equals("Linux")) { tempfilename = "/opt/mcloudStat/"; } else { tempfilename = "D:\\testImage"; } returnMsg = FileIOUtils.uploadFile(tempfilename,multipartFile,false); return returnMsg; }
方法2:
@RequestMapping(value = "/TestUploadImage", produces = "text/plain;charset=UTF-8") public @ResponseBody String iconUpload(@RequestParam(value = "iconImg") MultipartFile iconImg,HttpServletRequest request,String aas ){ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String,MultipartFile> fileMap =multipartRequest.getFileMap(); String returnMsg = null; for(String key:fileMap.keySet()){ System.out.println("key == " + key); if(key.equals("iconImg")){ MultipartFile multipartFile = fileMap.get(key); String fileName=multipartFile.getOriginalFilename(); if (fileName==null){ System.out.println("fileName==null"); } if (fileName==""){ System.out.println("fileName==''"); } System.out.println("fileName == " + fileName); String tempfilename; if (System.getProperty("os.name").equals("Linux")) { tempfilename = "/opt/mcloudStat/"; } else { tempfilename = "D:\\testImage"; } returnMsg = FileIOUtils.uploadFile(tempfilename,multipartFile,false); } } return returnMsg; }
多文件方式实现:
HTML:
<form action="http://localhost:8080/v1/TestUploadImage" method="post" id="iconForm" enctype="multipart/form-data"> <table> <tr> <td>头像</td> <td><input id="iconImg" name="iconImg" type="file"/></td> <td><input id="iconImg2" name="iconImg" type="file"/></td>//命字要一样,方便组成数组,会与排版顺序进行传入 <td><input type="submit" value="上传"/></td> </tr> </table> </form>
JAVA:
方法1:
@RequestMapping(value = "/TestUploadImage", produces = "text/plain;charset=UTF-8") public @ResponseBody String iconUpload(@RequestParam(value = "iconImg") MultipartFile[] iconImg,HttpServletRequest request,String aas ){ String returnMsg = null; int iconImgLen = iconImg.length; System.out.println("iconImgLen == " +iconImgLen); for(int i=0;i<iconImgLen;i++){ String fileName=iconImg[i].getOriginalFilename(); if (fileName==null){ System.out.println("fileName==null"); } if (fileName==""){ System.out.println("fileName==''"); } System.out.println("fileName == " + fileName); String tempfilename; if (System.getProperty("os.name").equals("Linux")) { tempfilename = "/opt/mcloudStat/"; } else { tempfilename = "D:\\testImage"; } returnMsg = FileIOUtils.uploadFile(tempfilename,iconImg[i],false); } return returnMsg; }
方法2:参考单单文方式实现方法2,不过HTML文件中的name要不一样
thumbnails可实现图片的压缩功能(PictureUtils.java)
http://blog.csdn.net/yaohucaizi/article/details/9718861
- PictureUtils.zip (1.2 KB)
- 下载次数: 2
发表评论
-
log4j2应用
2020-07-23 14:16 366https://blog.csdn.net/giventian ... -
文件上传下载
2020-07-06 13:16 4241.文件ID,名字(源,目标),大小,路径(/aa/bb/s. ... -
spring MVC 下载文件
2019-07-18 16:36 490@RequestMapping (value="/d ... -
Spring MVC Controller 接收ajax的数组参数说明
2018-05-12 10:09 927https://blog.csdn.net/u01252787 ... -
Spring MVC web.xml文件分析说明
2016-11-07 18:42 542Spring MVC web.xml文件分析说明 < ... -
Spring MVC工作流程
2016-11-07 17:04 454Spring MVC工作流程 1.用户向服务器发送请求,请 ... -
Spring AOP(面向方面编程)
2016-09-30 09:22 597Spring AOP(面向方面编程) 动态代理实现思路: 1 ... -
Spring 监听器
2016-09-29 09:55 705Spring 监听器 1.监听器是一个专门用于对其他对象身 ... -
Springmvc中在controller注入request会有线程安全问题吗
2016-09-29 00:24 2254Springmvc中在controller注入 ... -
Servlet的多线程和线程安全
2016-09-29 00:13 1338Servlet的多线程和线程安全 Servlet的生命周期 ... -
Spring filter的用法
2016-09-28 18:58 2184Spring filter的用法 1.Filter技术是se ... -
spring properties文件相关
2016-09-27 19:53 465spring properties文件相关 1.prope ... -
Spring注解之@autowired和@resource的区别
2016-09-19 14:54 951Spring注解之@autowired和@resource的区 ... -
Spring IOC实现原理基础
2016-09-18 18:09 457Spring IOC实现原理基础 Spring IOC实现 ... -
Spring自定义注解
2016-09-18 18:01 592Spring自定义注解 @Target(ElementTy ... -
Spring注解
2016-09-18 17:27 389Spring注解 Spring注解配置 1.注解本身做不了 ... -
Spring读取properties文件的处理
2016-09-18 16:46 688Spring读取properties文件的处理 prope ... -
Spring Bean注入方式
2016-09-18 16:26 409Spring Bean注入方式 一、构造器注入 1.构造器 ...
相关推荐
首先,让我们了解一下Spring中的文件上传工作原理。Spring通过`CommonsMultipartResolver`类来处理multipart/form-data类型的HTTP请求,这是用于上传文件的标准格式。在Spring MVC中,你需要在`DispatcherServlet`的...
在Java Web开发中,文件上传是一项常见的功能,例如将用户选择的图片或其他文件发送到服务器进行存储或处理。本项目采用jsp和servlet技术来实现这个功能,这是一套经典的Web开发模式,非常适合初学者学习和理解。...
Spring Boot 文件上传原理主要涉及到Spring MVC的处理机制。Spring Boot本身并不直接处理文件上传,而是依赖于Spring MVC的组件来完成这项任务。Spring MVC通过一个名为`MultipartResolver`的接口来处理文件上传请求...
在Spring MVC中,文件上传是常见的功能之一,用于接收用户通过表单提交的文件数据。本文将深入探讨Spring MVC中的文件上传方法,并基于提供的“spring学习:spring mvc上传文件方法分析”标题进行详细的解析。 首先...
1. **文件上传原理**: 文件上传是通过HTTP协议的POST请求来完成的,通常使用`multipart/form-data`编码类型。在客户端,HTML表单中的`<input type="file">`元素允许用户选择本地文件;在服务器端,我们需要解析...
通过正确配置和理解其工作原理,开发人员能够轻松地在Web应用中集成文件上传功能,满足各种业务需求。无论是简单的单一文件上传还是复杂的多文件管理,Spring框架都提供了丰富的工具和API来支持这一过程。
至于“lib”文件,这通常指的是项目依赖的库文件,可能包含了Spring MVC框架本身以及处理文件上传下载所需的相关库,如Apache Commons FileUpload和Apache Commons IO。在Java项目中,这些库通常被打包成JAR文件放入...
在深入学习Spring MVC文件上传和下载的过程中,理解HTTP协议、表单提交以及Spring MVC的内部工作原理是非常重要的。同时,熟悉相关的API和最佳实践,能够帮助我们构建健壮且安全的文件上传下载功能。
下面我们将深入探讨`CommonsMultipartResolver`的工作原理及其在Spring MVC中的应用。 1. **CommonsMultipartResolver简介** `CommonsMultipartResolver`是Spring MVC提供的一个实现类,它继承自`Multipart...
在SpringMVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Spring提供的一个解析多部分请求的组件。在配置文件中,我们需要添加如下配置启用文件上传: ```xml ...
在 Web 开发中,文件上传通常涉及到浏览器与服务器之间的交互。HTML5 引入了 `multipart/form-data` 类型的表单,使得文件可以作为表单数据的一部分发送给服务器。Spring MVC 通过 `CommonsMultipartResolver` 或 `...
如果你正在使用Spring框架,可以利用其对文件上传的便捷支持。`MultipartFile`接口允许你处理上传的文件,而控制器方法可以直接接收这些文件作为参数。Spring会处理所有底层的多部分解析和文件存储。 4. **使用JSF...
【标题】"MYECLIPSE AXIS2 + SPRING 文件上传"所涉及的知识点主要集中在三个核心领域:MYECLIPSE开发环境、AXIS2服务框架和SPRING框架,以及文件上传技术。MYECLIPSE是一款强大的集成开发环境(IDE),常用于Java...
理解文件上传的工作原理及其在IT领域的应用,对于开发人员来说是必不可少的知识。 首先,我们要了解HTTP协议在文件上传中的角色。HTTP协议是Web通信的基础,但在默认情况下,它并不支持大文件的上传。传统的HTTP...
在IT行业中,文件上传与下载是Web应用中的基础功能,特别是在服务器端处理用户交互时。...了解这些基础知识有助于进一步掌握现代Web框架如Spring Boot、React或Vue.js等在处理文件上传下载时的原理和方法。
"HTTP多文件上传"是指用户能够一次上传多个文件到服务器的技术。本文将深入探讨这个主题,包括其工作原理、实现方式以及相关的技术和挑战。 一、HTTP协议与文件上传 HTTP(超文本传输协议)是互联网上应用最广泛的...
文件上传需要将文件内容写入到输出流中。我们创建一个BufferedOutputStream,然后按照多部分/形式数据的格式写入每个字段,包括普通参数和文件。 ```java String boundary = "----WebKitFormBoundary7MA4YWxkTrZu0...
在IT行业中,大文件上传和断点续传是常见的需求,尤其在云存储、文件分享以及数据备份等场景。SpringBoot作为一个轻量级的Java框架,因其简洁的配置和强大的功能,被广泛应用在各种项目中。本项目"大文件上传支持...
在Spring框架中,上传文件是一项常见的任务,尤其在构建Web应用程序时。Spring提供了一套强大的MVC(Model-View-...在实际项目中,根据需求可能会有更复杂的情况,如支持多文件上传、文件预览等,但基本原理是一致的。