JAVA上传pdf文件

本文介绍了一个使用Java实现的PDF文件上传功能,详细展示了配置文件设置、Controller层的上传逻辑及Service层的具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置文件:

jeecg :
  path :
    #pdf路径
    pdf: D:\\opt\\webapp\\pdf

Controller层

    /**
     * 上传pdf文件
     */
    @PostMapping(value = "/uploadPdfFile")
    public Result<Object> uploadPdfFile(@RequestParam("file") @NotNull(message = "pdf文件不能为空")  MultipartFile file) {
        Result<Object> result = new Result<>();
        String message="";
        try {
            pdfService.uploadPdfFile(file);
            message = StrUtil.format("上传pdf文件成功");
            result.setSuccess(true);
        } catch (IOException e) {
            message = StrUtil.format("上传pdf文件失败");
            result.error500(message);
            e.printStackTrace();
        }
        return result;
    }

Service层

@Value("${jeecg.path.pdf}")
private String pdfPath;


public void uploadRiskClause(MultipartFile file) throws IOException {
        //上传内容
        File files = new File(pdfPath);
        //装备目标文件地址
        File dir = new File(pdfPath).getAbsoluteFile();
        log.info("目标文件地址dir = {}",dir);
        if (!dir.exists()) {
            dir.mkdirs(); //不存在就创建文件夹
        }
        //获取上传文件的名字
        String OriginalFilename = file.getOriginalFilename();
        String fileName = FileNameUtil.getName(OriginalFilename);
        //获取文件类型
        String type = FileTypeUtil.getType(file.getInputStream());
        log.info("上传文件名称-{},文件类型-{}",fileName,type);
        if(!"pdf".equals(type)){
            throw new JeecgBootException("文件仅支持pdf格式");//jeecgBoot框架自定义异常
        }
        if (fileName.length() >= 80) {
            throw new JeecgBootException("文件名过长,请检查文件名称保证不超过80个字符");//jeecgBoot框架自定义异常
        }
        //存在就关联文件夹 和 文件名字
        File dest = new File(dir, fileName);
        file.transferTo(dest);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值