web版文件管理系统 ——文件图标的获取

需求来源

  公司需要一个文件的管理系统,方便管理公司文档以及互相传阅以及一些权限控制的便利,其中极小的一块功能点就是现实文件列表里面的图标获取,从网上找图标太麻烦,而且不现实,不可能用户每次上传文件等你去网上找到一个图标来使用,而且网上找的图标并没有合适与文件现实的,基于这一系列的困扰,最后使用了扣去电脑本身的图标保存为图片,并当作列表图标现实

 

如下效果:

 

 

 

一、实现思路

  1、初始化图标获取

    1)、根据所有用户信息,获取用户文件数据,在根据绝对路径在存放文件的服务器寻找需要的文件图标,并保存

  2、文件上传图标获取

    1)、文件上传获取图标

    2)、文件夹上传批量获取图标(跟初始化获取同理)

二、需求实现

  1、获取电脑图标的公共使用方法:

public static void initializationIcon(String iconpath, String iconname) {
        File file = new File(iconpath); //提取图标的应用程序
        OutputStream inStream = null; //图标保存地址
        try {
            inStream = new FileOutputStream(new File( iconname + ".jpg"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            BufferedImage www = (BufferedImage) ((ImageIcon) toIcon(file)).getImage();
            ImageIO.write(www, "png", inStream);
            inStream.flush();
            inStream.close();
        } catch (IOException e) {
// TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
public int initializationfileicon() {
        String propath = FileUtil.getProFilePath() + "/";
        String iconpath = FileUtil.getProFilePathIcon() + "/";
        List<FileTreeEntity> loginUserEntities = fileTreeDao.getFileTreeData(null);
        for (FileTreeEntity t : loginUserEntities
        ) {
            // System.out.println(t.toString());
            if (t.getFileType().equals("文件")) {
                System.out.println(t.toString());
                IconUtil.initializationIcon(propath + t.getFilePath(), iconpath + t.getId() + t.getFileSuffix());
            }

        }
        return 1;
    }

以上代码为1、获取电脑文件图标方法

     2、初始化获取所有用户文件图标方法,为了前端区分使用,存储图标的规则为ID+文件后缀在加上图片格式

 

文件上传的图标获取则是通过该通用方法,在文件上传完成后,获取该绝对路径,获取到图标后根据自定义需求

保存,文件上传同理,只不过需要根据文件夹里面的文件循环此操作

 

目前整个系统已整体需求开发完成,后续有时间慢慢分享一些有用的小知识点

 

posted @ 2020-12-31 15:40  公々子  阅读(555)  评论(0编辑  收藏  举报
Document