zoukankan      html  css  js  c++  java
  • 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+文件后缀在加上图片格式

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

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

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

  • 相关阅读:
    mybatis四大接口之 ParameterHandler
    mybatis四大接口之 Executor
    网络协议
    4、Android UI测试
    3、Android构建仪表测试
    【翻译】Ext JS 6.2 早期访问版本发布
    2、Android构建本地单元测试
    1、Android测试入门
    安卓中的事件分发机制源码解析
    安卓IPC机制之Binder详解
  • 原文地址:https://www.cnblogs.com/gz007/p/14217109.html
Copyright © 2011-2022 走看看