2个版本

0.1.1 2022年7月16日
0.1.0 2022年7月16日

#2121 in 解析器实现

MIT许可证

235KB
564

fileidentifier

这个仓库是一个为Rust和JavaScript(Node.js)准备的库。它不是使用文件扩展名来识别文件,而是使用魔数。因此,它可以帮助您更好地检查文件。

安装

  • Rust版本,您可以从crates.io安装
  • Node.js版本,它可在npm中找到

如何使用

Rust中

use std::fs;
use fileidentifier::check::{FileFormat, get_file_format, is_png};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let file = fs::read("/usr/bin/whatever")?;

    assert_eq!(FileFormat::Script, get_file_format(&file));

    // or you can check the file format
    let png = fs::read("/file/path/x.png")?;

    assert_eq!(true, is_png(&png));

    Ok(())
}

Node.js中

    const fi = require('fileidentifier')

    let file = fs::readFileSync('/file/path/x.png')

    console.log(fi.getFileFormat(file)) // It will print 'png'

    // check the file format

    console.log(fi.isPng(file)) // It will print true

依赖项