SpringBoot上传下载

基于SpringBoot的上传下载


上传

1.前段form上加上enctype="multipart/form-data"
2.后端使用@RequestParam("file") MultipartFile file接受传输的数据
3.

@RequestMapping("add")
    public void add(Emp emp,@RequestParam("file") MultipartFile file) throws IOException {
    String originalFilename = file.getOriginalFilename();//原图片名字
    //String fename = originalFilename.split(".")[1];
    String filename=UUID.randomUUID().toString()+".jpeg";
	 //此时后缀名写死了
    String url = "F:\\tp\\"; //文件写入路径

    file.transferTo(new File(url + filename));
	//将文件写入硬盘上
	emp.setFilename(filename);//将文件名存入emp中
	empService.save(emp);
}

下载与展示

1、展示:前端使用标签展示,同时传相应的图片名
例:<img src=http://localhost:8080/emp/showphoto?filename="+filename+"
2.后端:

@RequestMapping("showphoto")
    public void aaa(String filename,HttpServletResponse response){
	//先获取路径
        String url = "F:\\tp\\";
        try {
        //读取数据
            FileInputStream inputStream=new FileInputStream(url+filename);

            byte[] bytes=new byte[inputStream.available()];
           inputStream.read(bytes);
           //如果不需要下载,则不需要这一行的代码
            response.setHeader("Content-Disposition","attachment;fileName="+filename);
	//将内容相应回前端
            response.getOutputStream().write(bytes);
        }catch (Exception e){
            e.printStackTrace();
        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值