SpringMvc MultipartFile 图片文件上传

spring-servlet.xml

1    <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->
2     <bean id="multipartResolver"
3         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
4         <property name="defaultEncoding" value="UTF-8" />
5         <!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
6         <property name="maxUploadSize" value="10240000" />
7     </bean>

upload/index.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 2 <!DOCTYPE HTML>
 3 <html>
 4 <head>
 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 6 <title>单图片上传</title>
 7 </head>
 8 <body>
 9 <fieldset>
10 <legend>图片上传</legend>
11 <h2>只能上传单张10M以下的 PNG、JPG、GIF 格式的图片</h2>
12 <form action="/pt/order/photoUpload" method="post" enctype="multipart/form-data">
13     选择文件:<input type="file" name="file">
14     <input type="submit" value="上传">
15 </form>
16 </fieldset>
17 </body>
18 </html>

AuthController.java

 1   /**
 2      * 图片文件上传
 3      */
 4     @ResponseBody
 5     @RequestMapping(value = "/photoUpload",method = RequestMethod.POST)
 6     public ResultData<Object> photoUpload(MultipartFile file,HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IllegalStateException, IOException{
 7         ResultData<Object> resultData=new ResultData<>();
 8         // 判断用户是否登录
 9         /*User user=(User) session.getAttribute("user");
10         if (user==null) {
11             resultData.setCode(40029);
12             resultData.setMsg("用户未登录");
13             return resultData;
14         }*/
15         if (file!=null) {// 判断上传的文件是否为空
16             String path=null;// 文件路径
17             String type=null;// 文件类型
18             String fileName=file.getOriginalFilename();// 文件原名称
19             System.out.println("上传的文件原名称:"+fileName);
20             // 判断文件类型
21             type=fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;
22             if (type!=null) {// 判断文件类型是否为空
23                 if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) {
24                     // 项目在容器中实际发布运行的根路径
25                     String realPath=request.getSession().getServletContext().getRealPath("/");
26                     // 自定义的文件名称
27                     String trueFileName=String.valueOf(System.currentTimeMillis())+fileName;
28                     // 设置存放图片文件的路径
29                     path=realPath+/*System.getProperty("file.separator")+*/trueFileName;
30                     System.out.println("存放图片文件的路径:"+path);
31                     // 转存文件到指定的路径
32                     file.transferTo(new File(path));
33                     System.out.println("文件成功上传到指定目录下");
34                 }else {
35                     System.out.println("不是我们想要的文件类型,请按要求重新上传");
36                     return null;
37                 }
38             }else {
39                 System.out.println("文件类型为空");
40                 return null;
41             }
42         }else {
43             System.out.println("没有找到相对应的文件");
44             return null;
45         }
46         return resultData;
47     }
时间: 2024-08-08 19:30:18

SpringMvc MultipartFile 图片文件上传的相关文章

SpringMVC实现单文件上传、多文件上传、文件列表显示、文件下载

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload.jar+connom-io.jar+commons-logging,jar+jstl.jar+standard.jar 整个相关的包如下: 整个工程目录如下: 二.配置web.xml和SpringMVC文件

SpringMVC实现ajax文件上传

SpringMVC实现文件上传,直接上代码: 后台代码: 01 @RequestMapping(value = "/uploadApk") 02 @ResponseBody 03 public Object uploadApk( 04         @RequestParam(value = "apkFile") MultipartFile apkFile, 05         HttpServletRequest request, HttpServletRes

SpringMVC学习(九)——SpringMVC中实现文件上传

这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文件的上传. 环境准备 SpringMVC上传文件的功能需要两个jar包的支持,如下: 工程中肯定要导入以上两个jar包,主要是CommonsMultipartResolver解析器依赖commons-fileupload和commons-io这两个jar包. 单个文件的上传 前台页面 我们要改造editItem.jsp页面,主要是在form表单中添加商品图片一栏,效果我截图如下: 注意一点的是form表单中别忘了写e

【springMVC】之文件上传

通过前两篇博客的学习,想必大家对springMVC已经有了一个基本的认识.今天我们主要来学习一下springMVC两种文件上传的方式. 首先介绍第一种,通过字节流的方式实现文件上传.首先创建一个upload.jsp页面 <body> <h>添加用户</h> <!-- entype要声音和支撑这种类型的,保证文件上传不会被解码--> <!-- form表单,action是说讲这个表单提交到什么路径: method="post"是提交方

.Net Core 图片文件上传下载

当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. 一.开发环境 毋庸置疑,宇宙第一IDE VisualStudio 2017 二.项目结构 FilesController 文件上传下载控制器 PictureController 图片上传下载控制器 Return_Helper_DG 返回值帮助类 三.关键代码 1.首先我们来看Startup.cs

利用spring的MultipartFile实现文件上传【原】

利用spring的MultipartFile实现文件上传 主要依赖jar包 spring-web-3.0.6.RELEASE.jar 用到 (org.springframework.web.multipart.MultipartFile)commons-fileupload-1.3.1.jarcommons-logging-1.0.4.jar 前台 <!DOCTYPE html> <html lang="en"> <head> <meta ch

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

Android图片文件上传实例

原文:Android图片文件上传实例 源代码下载地址:http://www.zuidaima.com/share/1550463718132736.htm 支持拍照图片上传和从手机相册中获取图片上传到服务器端的功能 源码截图

js的FileReader实现图片文件上传、预览

js的FileReader实现图片文件上传.预览 FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL.Data URL是一项特殊的技术,可以将资料(例如图片)内嵌在网页之中,不用放到外部文件.使用Data URL的好处是,您不需要额外再发出一个HTTP 请求到服务器端取得额外的资料:而缺点便是,网页的大小可能会变大.它适合应用在内嵌小图片,不建议将大图像文件编码成Data URL来使用.您的图像文件不能够超过浏览器限定的大小,否则无法读取图像文件.1