whyclxw
2025-02-27 c5e7a1aac235472269641e0c076ded850e1cbaf5
src/main/java/com/whyc/service/SoftcodeService.java
@@ -54,6 +54,7 @@
            for(String name:nameList){
                Softcode softcode=new Softcode();
                softcode.setFileName(name);
                softcode.setCreateTime(new Date());
                softcode.setCodeUrl(softcodeHttpUrl+File.separator+fileName);
                //判断是否存在源码,存在修改,不存在添加
                if(mapper.selectOne(new QueryWrapper<Softcode>().eq("file_name",name))!=null){
@@ -75,11 +76,11 @@
        wrapper.last("limit 1");
        Softcode softcode=mapper.selectOne(wrapper);
        String filename=softcode.getCodeUrl().substring(softcode.getCodeUrl().lastIndexOf("\\")+1);
        String name=softcode.getCodeUrl().substring(softcode.getCodeUrl().lastIndexOf("\\")+1);
        try {
            // 转码防止乱码
            //resp.addHeader("Content-Disposition", "attachment;filename=" + new String(softwareName.getBytes("UTF-8"), "ISO8859-1"));
            resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (filename, "utf-8"));
            resp.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (name, "utf-8"));
            OutputStream out = resp.getOutputStream();
            FileInputStream in = new FileInputStream(fileDirName+ File.separator+softcode.getCodeUrl());
            int len=0;
@@ -97,6 +98,6 @@
        }
        //记录日志
        logService.recordOperationLogDownLoad(ActionUtil.getUser().getId(),ActionUtil.getUser().getName(), UserOperation.TYPE_DOWNLOAD_SOFWARE.getType(),new Date(),req.getRemoteAddr()
                ,filename,fileDirName+File.separator+softcode.getCodeUrl(),"",fileName,"");
                ,name,fileDirName+File.separator+softcode.getCodeUrl(),"",name,"");
    }
}