springmvc上传与下载
2021/7/22 8:06:07
本文主要是介绍springmvc上传与下载,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.Random;
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.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class One {
@RequestMapping(value=“shang.do”)
public String upload(MultipartFile file,HttpServletRequest request) throws IllegalStateException, IOException {
//如果是多文件上传的话就给个数组file【】然后给个for循环
//获取道上传的请求路径
String lu = request.getServletContext().getRealPath("/upload/");
//拿到上传的文件名
String name = file.getOriginalFilename();
//改名字,为什么要改名字:以防文件名字重复覆盖内容
//防止同一时间上传随机数值然后加上原来的文件名就是一个新的名字
String newname=new Date().getTime()+new Random().nextInt(99)+name;
//实例化file的对象去加载上传的路径和文件
//上传一个完整的文件路径
File f=new File(lu+newname);
//把完整的路径给写过去
//然后第一个抛出异常
file.transferTo(f);
//创建一个sess页面
return “sess”;
}
@RequestMapping(value=“dwnload.do”)
public ResponseEntity<byte[]> two(@RequestParam(“fileName”) String fileName,HttpServletRequest requesst) throws IOException {
String nu = requesst.getServletContext().getRealPath("/dwnload/");
//实例化
File f=new File(nu+fileName);
//转换格式,报错抛出异常
String lewname = new String(fileName.getBytes(“utf-8”),“iso8859-1”);
//转流
HttpHeaders http = new HttpHeaders();
//attachment是固定格式
http.setContentDispositionFormData(“attachment”, lewname);
http.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//最后把他给相应发送过去,是个数组
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(f),http,HttpStatus.CREATED);
}
web.xml
applicationContext.xml配置文件设置
这篇关于springmvc上传与下载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南