lxw
2022-07-29 093e9a9e0246c8046affb96120959fc8768c075d
下载打包图片
2个文件已修改
51 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/ProductBomController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomService.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProductBomController.java
@@ -26,8 +26,8 @@
    @ApiOperation("图纸文件打包下载")
    @GetMapping("downloadCadDrawer")
    public void downloadCadDrawer(HttpServletRequest req, HttpServletResponse resp){
         service.downloadCadDrawer(req,resp);
    public void downloadCadDrawer(HttpServletRequest req, HttpServletResponse resp, String[] pictureUrls){
         service.downloadCadDrawer(req,resp,pictureUrls);
    }
    @ApiOperation(value = "根据子件code获取最终的信息")
    @GetMapping("getBomBySubcode")
src/main/java/com/whyc/service/ProductBomService.java
@@ -36,9 +36,16 @@
        return  new Response().setII(1,list.size()>0?true:false,pageInfo,"数据返回");
    }
    //图纸文件下载
    public void downloadCadDrawer(HttpServletRequest req, HttpServletResponse resp) {
    public void downloadCadDrawer(HttpServletRequest req, HttpServletResponse resp, String[] pictureUrls) {
        String fileDirName = FileDirPath.getFileDirName();
        String rootFace=fileDirName+ File.separator+"face";
        String rootFace=fileDirName+ File.separator+"zip";
        //将选中的文件存入指定目录下打包下载
        if(pictureUrls!=null&&pictureUrls.length>0){
            for (String picUrl:pictureUrls) {
                File sourceFile=new File(fileDirName+ File.separator+picUrl);
                copyFile(sourceFile,rootFace);
            }
        }
        String timeStr= ActionUtil.sdfwithFTP.format(new Date());
        try {
            File file=new File(rootFace+".zip");
@@ -118,4 +125,40 @@
        });
        mapper.insertBatchSomeColumn(newBomList);
    }
    //将选中的文件存入指定目录下
    public void copyFile(File source,String dest ){
        //创建目的地文件夹
        File destfile = new File(dest);
        if(!destfile.exists()) {
            destfile.mkdir();
        }
        //source是文件,则用字节输入输出流复制文件
        try {
            if(source.isFile()){
                FileInputStream fis = new FileInputStream(source);
                //创建新的文件,保存复制内容,文件名称与源文件名称一致
                File dfile = new File(dest+File.separator+source.getName());
                if(!dfile.exists()){
                    dfile.createNewFile();
                }
                FileOutputStream fos = new FileOutputStream(dfile);
                // 读写数据
                // 定义数组
                byte[] b = new byte[1024];
                // 定义长度
                int len;
                // 循环读取
                while ((len = fis.read(b))!=-1) {
                    // 写出数据
                    fos.write(b, 0 , len);
                }
                //关闭资源
                fos.close();
                fis.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}