java文件上传和下载

@RequestMapping("download")
    public ResponseEntity<byte[]> downLoad(HttpServletRequest req) throws IOException {
        //返回一个响应实体
        //指定文件的路径
        String path = req.getServletContext().getRealPath("/uploadFile") + "/3ae8e408-218b-4851-928c-073a5fa0adeb.jpg";
        //创建响应的头信息对象
        HttpHeaders head = new HttpHeaders();
        //标记以流的方式做出响应
        head.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        //以附件的形式响应给用户
        head.setContentDispositionFormData("attachment", URLEncoder.encode("3ae8e408-218b-4851-928c-073a5fa0adeb.jpg","utf-8"));
        File file = new File(path);
        ResponseEntity<byte[]> en = new ResponseEntity<>(FileUtils.readFileToByteArray(file),head, HttpStatus.CREATED);
        return en;
    }
    @RequestMapping("upload")
    public String upload(@RequestParam("myFile") MultipartFile myFile, HttpServletRequest req) throws IOException {
        //获取文件的原始名称tomcat.jpg
        String originalFilename = myFile.getOriginalFilename();
        //实际开发当中,都要将文件重新命名进行存储
        //根据我们的实际名称,获取到源文件的后缀,涉及到,字符串的截取,lastIndexOf(".")获取到.下表的索引值
        String fileName = UUID.randomUUID().toString().replace("-","") + originalFilename.substring(originalFilename.lastIndexOf("."));
        System.out.println(fileName);
        //文件册存储的路径
        String realpath = req.getServletContext().getRealPath("/uploadFile")+"/";
        myFile.transferTo(new File(realpath+fileName));
        //这个才是文件上传到真正指定的位置
        System.out.println("上传成功:"+realpath+fileName);



        return "ok";
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值