springMVC的文件下载与上传

1.controller
package com.offcn.controller;

import java.io.File;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class DownController {

@RequestMapping("/down1")
public ResponseEntity<byte[]> down(String fileName, HttpServletRequest req) throws Exception {

    String path = req.getServletContext().getRealPath("upload");
    File target = new File(path, fileName);

    HttpHeaders headers = new HttpHeaders();//获取请求头的对象

    // 设置头信息
    // attachment: 以附件的形式下载,默认的值inline, 直接在浏览器中打开
    headers.setContentDispositionFormData("attachment", fileName);


    ResponseEntity<byte[]> re = new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(target), headers, HttpStatus.OK);
    return re;
}

}
pom.xml文件配置jar包

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
    </dependency>
    <!---->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>

springMVC.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>

<!-- 注解包扫描 -->
<context:component-scan base-package="com.offcn" />

<!-- 注解映射驱动:如JSON的转换,形参数据填充 -->
<mvc:annotation-driven />

<!-- 视图前、后缀配置 视图解析器 -->
<bean
	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/" />
	<property name="suffix" value=".jsp" />
</bean>

<!-- 静态资源处理: css, js等文件的解析 -->
<mvc:default-servlet-handler />


<!-- 文件上传 -->
<bean id="multipartResolver"
	class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
	<property name="defaultEncoding" value="utf-8"></property>
	<property name="maxUploadSize" value="10485760000"></property>
	<property name="maxInMemorySize" value="40960"></property>
</bean>
**前端界面**down.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 上传excel
<a href="down1?fileName=yigegirl.jpg" title="点击下载这个girl">
	<img src="${pageContext.request.contextPath }/upload/yigegirl.jpg">
</a>

上传文件|||||||||||||
uploadController
package com.offcn.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;

@Controller
public class UploadController {

@RequestMapping("/up")
public String up(MultipartFile file, HttpServletRequest req) throws Exception {

    String path = req.getServletContext().getRealPath("upload");

    File temp = new File(path);
    // 如果目录不存在,就创建目录
    if(!temp.exists()) {
        temp.mkdirs();
    }

    String fileName = file.getOriginalFilename();
    // 上传的目标文件
    File target = new File(path, fileName);

    // 上传方法
    file.transferTo(target);

    return "";
}

}

前端界面up.jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

上传excel
<form action="up" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
	<input type="submit" value="上传">
</form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值