为了账号安全,请及时绑定邮箱和手机立即绑定

springmvc上传与下载

标签:
Java

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

springDispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext.xml 1 springDispatcherServlet *.do

applicationContext.xml配置文件设置

———————————————— 版权声明:本文为CSDN博主「云上那些日子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_57559877/article/details/118900023
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消