后端文件上传,返回地址,前端删除文件或图片时,后台同时删除

本文介绍如何在Java后端实现文件上传,并返回上传地址,以及当前端删除文件时,后端同步删除文件的方法。通过创建一个公共类和VBFileController,结合FileUploadUtils和OperationFile工具类,实现在API接口中处理文件上传和删除操作。
摘要由CSDN通过智能技术生成

1,先写一个公共类

public static String courseFile;
    public static String uploadImagePath = "/Upload/vbsqyw/image/";
    public static String uploadFilePath ="/Upload/vbsqyw/file/";
    public static String templatePath="/Template/vbsqyw/";

    /**
     * 导入excle文件,导入后先进行文件上传,再解析文件内容,并返回
     *
     * @param file
     * @return
     */
    public static HashMap<String, List> importFile(MultipartFile file) {
   
        HashMap<String, List> result = new HashMap<>();
        List headers = new ArrayList(); //表头
        List bodys = new ArrayList(); //表格行
        HashMap fileInfo = uploadFile(file); //先进行文件上传,再解析文件内容
        String fileName = fileInfo.get("fileName").toString();
        if (!fileName.equals("")) {
   
            Workbook workbook = null;
            try {
   
                workbook = getWorkbook(fileName);
            } catch (IOException e) {
   
                e.printStackTrace();
            }
            if (workbook != null || !workbook.equals("")) {
   
                for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
   
                    Sheet sheet = workbook.getSheetAt(i); //获取excle中的每一个sheet,再解析每个sheet中的内容
                    if (sheet.getLastRowNum() != 0) {
   
                        for (int r = 0; r <= sheet.getLastRowNum(); r++) {
   
                            Row row = sheet.getRow(r); //获取sheet的每一行
                            List body = new ArrayList();
                            for (int n = 0; n < row.getLastCellNum(); n++) {
   
                                HashMap bodyVal = new HashMap();
                                HashMap headerVal = new HashMap();
                                if (r == 0) {
    //如果行号为0,则是表头
                                    headerVal.put("value", row.getCell(n).getStringCellValue());
                                    headers.add(headerVal);
                                } else {
   
                                    Cell cell = row.getCell(n);
                                    String dateString = checkDate(cell);
                                    if (dateString.equals("")) {
   
                                        cell.setCellType(CellType.STRING);
                                    } else {
   
                                        cell.setCellValue(dateString);
                                    }
                                    bodyVal.put("value", cell.getStringCellValue());
                                    body.add(bodyVal);
                                }
                            }
                            if (r > 0) {
    //行号为0时不添加内容到bodys中
                                bodys.add(body);
                            }
                        }
                    }
                }
                result.put("body", bodys); //返回的内容
                result.put("header", headers); //返回的表头
            }
        }
        return result;
    }

    /**
     * 上传文件,包括图片,表格等文件,不解析文件内容
     *
     * @param file 选择的文件
     * @return
     */
    public static HashMap<String, String> uploadFile(MultipartFile file) {
   
        HashMap<String, String> result = new HashMap<>();
        String saveFilePath = "";
        if (!file.isEmpty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值