栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java文件在浏览器下载和预览

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java文件在浏览器下载和预览

文件下载,预览controller
  @ApiOperation(value = "文件下载")
    @ApiImplicitParam(name = "fileId", value = "文件fileId", required = true)
    @GetMapping(value = "/download/{fileId}")
    public Result download(@PathVariable String fileId) throws Exception {
        FileInfo fileInfo = fileInfoService.getFileById(fileId);
        if (fileInfo == null) {
            return Result.failure(ResultCode.DATA_IS_WRONG);
        }
        String userAgent = request.getHeader("User-Agent");
        String fileName = fileInfo.getFileName() + "." + fileInfo.getFileSuffix();
        if (userAgent != null && (userAgent.contains("MSIE") || userAgent.contains("Trident"))) {
            fileName = URLEncoder.encode(fileName, "UTF-8");
        } else {
            fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
        }
        response.setHeader("Content-Disposition", String.format("attachment; fileName="%s"", fileName));
        response.setHeader("Content-Length", Long.toString(fileInfo.getFileSize()));
        response.setCharacterEncoding("UTF-8");
        FileInputStram io = new FileInputStream(new File(fileInfo.getStorePath()));
        IOUtils.copy(io, response.getOutputStream());
        return null;
    }




 @ApiOperation(value = "文件预览")
    @ApiImplicitParam(name = "fileId", value = "文件fileId", required = true)
    @RequestMapping(value = "/preview/{fileId}", method = RequestMethod.GET)
    public void downLoad1(@PathVariable String fileId) throws Exception {
        FileInfo fileInfo = fileInfoService.getFileById(fileId);
        if (fileInfo == null) {
            return;
        }
        try {
            Path path = Paths.get("." + fileInfo.getFileSuffix());
            response.setContentType(Files.probeContentType(path));
        } catch (IOException e) {
            response.setContentType("application/octet-stream");
        }
        response.setCharacterEncoding("UTF-8");

        FileInputStram io = new FileInputStream(new File(fileInfo.getStorePath()));
        IOUtils.copy(io, response.getOutputStream());
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463324.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号