SpringMVC单文件文件上传

来源:互联网 发布:linux文件内容复制 编辑:程序博客网 时间:2024/05/01 15:14

web.xml配置文件的内容

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>springmvc_upload</display-name>  <welcome-file-list>    <welcome-file>/WEB-INF/page/index.jsp</welcome-file>  </welcome-file-list>  <servlet>    <servlet-name>upload</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>WEB-INF/applicationContext.xml</param-value>    </init-param>    <!-- 启动服务器时加载 -->    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>upload</servlet-name>    <url-pattern>*.upload</url-pattern>  </servlet-mapping></web-app>

applicationContext.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:mvc="http://www.springframework.org/schema/mvc"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">    <mvc:annotation-driven />    <context:annotation-config />    <context:component-scan base-package="com.meng.upload"/>    <bean name="multipartResolver" p:defaultEncoding="utf-8" p:maxUploadSize="10485760"        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    </bean>    <!-- 前缀设置为WEB-INF下的page文件夹下的任何文件,后缀为.jsp的文件 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix">            <value>/WEB-INF/page/</value>        </property>        <property name="suffix">            <value>.jsp</value>        </property>    </bean></beans>

index.jsp上传图片页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>    <title>My JSP 'index.jsp' starting page</title>  </head>  <body>      <!-- enctype上传类型是multipart/form-data -->    <form action="upload.upload" method="post" enctype="multipart/form-data">        file::<input type="file" name="file1" accept=".jpg,.png" />        <input type="submit" />    </form>  </body></html>

upload上传文件

package com.meng.upload;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.MultipartFile;@Controllerpublic class upload {    @RequestMapping(value="/upload",method=RequestMethod.POST)    public String upload(@RequestParam("file1") MultipartFile file1, HttpServletRequest request) {        //上传的文件是file1        try {        //获得upload上的全路径 文件名称为当前时间加下划线加文件名称            File file = new File(request.getServletContext().getRealPath("upload"),                    System.currentTimeMillis() + "_"                            + file1.getOriginalFilename());            System.out.println(file.getPath()+"");            FileOutputStream fileOutputStream = new FileOutputStream(file);            fileOutputStream.write(file1.getBytes());            fileOutputStream.close();        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        //成功跳ok.jsp        return "ok";    }}

下载文件

package com.meng.upload;import java.io.FileInputStream;import java.io.OutputStream;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;//下载模块@Controllerpublic class DonwloadAction {    @RequestMapping("/donwload")    public void donwload(HttpServletResponse response){        try {            //设置响应类型为multipart/form-data            response.setContentType("multipart/form-data");            //设置这个的目的是下载时文件的默认名称叫什么            response.setHeader("Content-Disposition", "attachment;filename=k1.jpg");            FileInputStream fileInputStream = new FileInputStream("F:\\QQMusicCache\\QQMusicPicture\\Maroon 5_It Won't Be Soon Before Long (International Version)_4.jpg");            //把文件大小给浏览器,让浏览器计算进度条            response.setContentLength(fileInputStream.available());            byte[] b = new byte[fileInputStream.available()];            fileInputStream.read(b);            fileInputStream.close();            OutputStream out = response.getOutputStream();            out.write(b);            out.close();        } catch (Exception e) {            e.printStackTrace();        }    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 奶奶疼外孙胜过孙子怎么办 吃了有病的鸡怎么办 博士真毕不了业怎么办 35岁博士毕不了业怎么办 跨校考研失败了怎么办 开发商把网签房卖给我该怎么办 cad中命令行没了怎么办 平板玩游戏很卡怎么办 卵巢包块20厘米怎么办 耳机的橡胶破了怎么办 脚被树枝扎破了怎么办 脚被木头扎肿了怎么办 手表字面脚断了怎么办 捡到苹果电脑怎么办才能自己用 耳机泡在水里了怎么办 蓝牙耳机泡水了怎么办 拖欠农民工工资劳动局不管怎么办 怎么办假的残疾军人证 外地人到北京就业怎么办五险 巴基斯坦留学生护照丢了怎么办 不敢上梯子太丢人怎么办 家人信了全能神怎么办 头皮上长淋巴炎怎么办? 鱼缸里的鱼相互咬怎么办? 火车凌晨4点到站怎么办 金立手机拍不了照怎么办 手术拆线后切口不平怎么办 乳牙透明冠掉了怎么办 配眼镜度数低了怎么办 眼睛高度近视怎么办才能恢复 猎人荒野的呼唤打中一枪后怎么办 凯恩帝数控超程报警怎么办 凯恩帝数控车床x向超程怎么办 别人问你借账号怎么办 微信成夜间模式怎么办 网络电视突然黑屏了怎么办 1adac连接线坏了怎么办 4g的标志没有了怎么办 苹果手机亏电了怎么办 苹果手机亏电了充不进电怎么办 比值审敛法 ρ=1怎么办