`
hzywy
  • 浏览: 168363 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

springmvc上传

阅读更多

    最近一直在网上看资料,今天我在网上发现一个demo,是基于springMVC开发的上传。由于本人刚好这两天在学习springMVC。以前用struts2.0 做过多文件上传的,现在我把这springMVC的多文件上传来分享给大家。我是根据http://zhoshijie.iteye.com/blog/1177390 给的demo完成的啊,希望原著能支持!!!我来简单讲解一下。


lib包

目录结构:


spring-servlet-xml***********************************


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"

    xsi:schemaLocation="http://www.springframework.org/schema/beans   
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
           http://www.springframework.org/schema/context   
           http://www.springframework.org/schema/context/spring-context-3.0.xsd
           http://www.springframework.org/schema/mvc
           http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">


    <!--  启动Spring MVC的注解功能,完成请求和注解POJO的映射  -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
   
 
   
   
    <context:component-scan base-package="com"/>       
   

    <!--  对模型视图名称的解析,在请求时模型视图名称添加前后缀  -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />

    <!-- 文件上传-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8">
     <!-- 以字节为单位的最大上传文件的大小 -->
<!--     <property name="maxUploadSize" value="1000000" />-->
    </bean>
</beans>


UploadFileController.java******************************
package com.len.trans.controller;

import java.io.FileOutputStream;
import java.util.List;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;

import com.len.trans.common.Constant;
import com.len.trans.util.PropertiesUtil;

@Controller//声明该类为控制器类
@RequestMapping("/upload")
public class UploadFileController {   
   
    /**
     * 进入上传页面
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/toUpload")//将文件上传请求映射到该方法
    public ModelAndView toUpload() throws Exception{
        return new ModelAndView("/upload");//返回上传视图
    }
   
    /**
     * 文件上传
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/uploadFile",method=RequestMethod.POST)//将文件上传请求映射到该方法
    public ModelAndView uploadFile(MultipartHttpServletRequest request) throws Exception{       
        PropertiesUtil pUtil=PropertiesUtil.createPropertiesUtil(Constant.UPLOADPATH_FILE);
        List<MultipartFile> files=request.getFiles("file");//取得from里面的参数
        String uploadpath=request.getSession().getServletContext().getRealPath(pUtil.getProperty(Constant.UPLOADPATH_PATH));
        System.out.println("uploadpath :"+uploadpath);
        for (MultipartFile file : files) {
            if (file.isEmpty()) continue;
            FileOutputStream fileOS=new FileOutputStream(uploadpath+"/"+file.getOriginalFilename());
            fileOS.write(file.getBytes());
            fileOS.close();
        }
        return new ModelAndView("/success");//返回成功视图
    }   

一下这段主要是告诉大家另外一种传参的方式,上面是用request取的: @RequestParam("name") String name, //设置请求参数的名称和类型  @RequestParam("file") CommonsMultipartFile mFile


//     public String handleFormUpload(@RequestParam("name") String name, //设置请求参数的名称和类型
//               @RequestParam("file") CommonsMultipartFile mFile) { //请求参数一定要与form中的参数名对应
//              if (!mFile.isEmpty()) {
//               String path = this.servletContext.getRealPath("/tmp/");  //获取本地存储路径
//               File file = new File(path + new Date().getTime() + ".jpg"); //新建一个文件
//               try {
//                mFile.getFileItem().write(file); //将上传的文件写入新建的文件中
//               } catch (Exception e) {
//                e.printStackTrace();
//               }
//              }
}

upload.jsp**********************************************

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
    <form action="<%=request.getContextPath()%>/upload/uploadFile" method="post" enctype="multipart/form-data">
        <input type="hidden" name="_method" value="post">   
        文件1:<input type="file" name="file"><br>
        文件2:<input type="file" name="file"><br>
        <input type="submit" value=" 提 交 "><br>
    </form>
</center>
</body>
</html>

分享到:
评论
2 楼 NeverGiveUpToChange 2013-09-27  
nice,还不错哦,谢谢啦!!!
1 楼 小胖vs小猪 2012-04-05  
nice,还不错哦

相关推荐

    springmvc上传jar包

    `springmvc上传jar包`这个主题主要关注如何在Spring MVC应用中实现文件上传,特别是使用`CommonsMultipartResolver`作为处理多部分请求的解析器。下面将详细讨论相关知识点。 首先,Spring MVC是Spring框架的一部分...

    springmvc上传文件所需jar包

    在标题和描述中提到的"springmvc上传文件所需jar包"是指为了在Spring MVC应用中支持文件上传,开发者需要引入特定的Java Archive (JAR) 文件。以下是关于这两个关键JAR包的详细解释: 1. `...

    Springmvc上传文件.docx

    SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...

    springMVC 上传文件方式

    springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式

    springmvc上传文件到FTP

    在本文中,我们将深入探讨如何使用Spring MVC框架将文件上传至FTP服务器。Spring MVC是Spring框架的一个组件,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。FTP(File Transfer Protocol)则是一种用于在...

    springMVC 上传下载例子

    例如,上传成功后,可以将文件名添加到模型中,并返回一个重定向视图,跳转到显示上传结果的页面。 6. **视图层** 使用JSP、Thymeleaf或其他模板引擎创建视图页面,展示上传或下载的界面。页面上需要包含表单元素...

    springmvc上传文件实时显示进度条

    在这个特定的项目"springmvc上传文件实时显示进度条"中,我们关注的是如何在文件上传过程中为用户展示进度信息,以提高用户体验。这个项目适用于那些需要处理大文件上传并希望提供反馈的Web应用。 首先,要实现文件...

    springMVC上传下载样例

    文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置...

    SpringMVC上传文件的四种方法

    在Spring MVC框架中,文件上传是一项常见的功能,用于接收客户端发送的文件数据。这里我们将详细介绍四种不同的文件上传方法,每种方法都有其适用场景和特点。 1. **使用`@RequestParam`注解** 这是最基础的文件...

    springmvc上传下载并且保存到数据库

    在本项目"springmvc上传下载并且保存到数据库"中,我们将探讨如何利用 Spring MVC 实现文件的上传与下载功能,并将相关信息存储到数据库。 1. **文件上传** - **CommonsMultipartFile**:在 Spring MVC 中,我们...

    bootstrap fileinput组件整合Springmvc上传图片到本地磁盘

    主要介绍了bootstrap fileinput组件整合Springmvc上传图片到本地磁盘的方法,需要的朋友可以参考下

    springmvc上传文件controller,vue

    在Spring MVC框架中,文件上传是一项常见的功能,用于接收客户端发送的文件数据。Vue.js作为一个前端框架,可以很好地与Spring MVC结合,实现用户界面的交互和文件上传的处理。在这个项目中,我们将深入探讨如何使用...

    springMVC上传文件demo

    springMVC上传文件的三种解析方式源码。可以添加到tomcat直接运行,运行访问地址为:http://localhost:8080/SpringMVCUploadFileDemo/upload/toUploadFileView1

    SpringMVC上传图片文件到 阿里云【2018年最新版】【JavaWeb】

    在本教程中,我们将深入探讨如何使用SpringMVC框架与阿里云对象存储服务(OSS)集成,实现在JavaWeb应用中上传图片文件。阿里云OSS是一种安全、可靠的云存储服务,适合存储大量数据,如图片、视频、文档等。而...

    ssm框架SpringMVC上传下载

    **SpringMVC上传文件** 1. **配置MultipartFile**: SpringMVC通过`MultipartFile`接口处理文件上传。在`spring-mvc.xml`配置文件中,我们需要开启Multipart resolver,通常使用`CommonsMultipartResolver`,并设置...

    extjs3+springMVC上传文件

    标题“extjs3+springMVC上传文件”指的是使用ExtJS 3版本的JavaScript库与Spring MVC框架结合实现文件上传功能。这篇博文可能是作者在ITEYE博客上分享的一个技术实践,遗憾的是,描述部分为空,没有提供额外的信息。...

    SpringMVC上传文件ie提示下载json文件解决方案

    ### SpringMVC上传文件IE提示下载JSON文件解决方案 在开发基于SpringMVC的应用时,可能会遇到这样一个问题:当用户尝试通过Internet Explorer(IE)浏览器上传文件时,浏览器会提示下载一个JSON文件,而不是正常地...

    SpringMVC上传文件 SSH上传文件

    本主题将深入探讨如何使用SpringMVC和SSH(Struts2 + Hibernate + Spring)框架来实现文件的上传与下载。 首先,我们来看SpringMVC中的文件上传。SpringMVC是Spring框架的一部分,它提供了强大的MVC设计模式支持,...

Global site tag (gtag.js) - Google Analytics