Exemplo n.º 1
0
  @Override
  public void save(InputStream is, int filelen, String filename) throws IOException {
    String md5filename = DigestUtils.md5Hex(filename);
    String hdfsname = basepath + md5filename;

    // 存储到HDFS上
    try {
      HdfsHelper.upload(is, filelen, hdfsname);
    } catch (IOException e) {
      logger.error(e);
      throw e;
    }

    // 添加元数据项
    // TODO: 大文件计划不保存元数据
    MetaFile metaFile = new MetaFile();
    metaFile.setLength(new Long(filelen));
    metaFile.setName(new File(filename).getName());
    metaFile.setStorename(md5filename);
    metaFile.setStorepos(-1L);
    hdfsfilesRepository.addMetaFile(filename, metaFile);
  }