zoukankan      html  css  js  c++  java
  • 上传文件至GridFs

    /**
     * 上传文件至GridFs
     * @param gridFsTemplate
     * @param file
     */
    
    需要自行导入jar包
    public static ObjectId uploadFile(GridFsTemplate gridFsTemplate, MultipartFile file){
        try {
            //获取文件的MD5
            String md5 = DigestUtils.md5DigestAsHex(file.getInputStream());
            Query query = new Query();
            query.addCriteria(Criteria.where("md5").is(md5));
            //根据文件MD5值查询
            GridFSFile gridFSDBFile = gridFsTemplate.findOne(query);
            //如果不存在重复文件则存入GridFS
            if(CommentUtils.isEmpty(gridFSDBFile)) {
                log.info("upload file..");
                DBObject metaData = new BasicDBObject();
                metaData.put("createdDate", new Date());
                String fileName = file.getOriginalFilename();
                log.info("File Name: " + fileName);
                ObjectId objectId = gridFsTemplate.store(file.getInputStream(), fileName, file.getContentType(), metaData);
                log.info("File upload: " + file.getContentType());
                return objectId;
            }
            return gridFSDBFile.getObjectId();
        } catch (Exception e) {
            log.error("IOException: " + e);
            throw new BadRequestException(ExceptionEnum.UPLOAD_FILE_FILE.getMessage());
        }
    }
  • 相关阅读:
    html(单纯html标签)
    python 知识点
    浅谈五大Python Web框架
    Python3的变化
    测试开发
    常见的测试用例设计方法
    数字数据类型及其对应转移字符
    char *p 与char p[]
    C语言运算符优先级 详细列表
    软件自动化测试
  • 原文地址:https://www.cnblogs.com/lovetl/p/12749773.html
Copyright © 2011-2022 走看看