2个版本
0.1.1 | 2022年7月16日 |
---|---|
0.1.0 | 2022年7月16日 |
#2121 in 解析器实现
235KB
564 行
fileidentifier
这个仓库是一个为Rust和JavaScript(Node.js)准备的库。它不是使用文件扩展名来识别文件,而是使用魔数。因此,它可以帮助您更好地检查文件。
安装
如何使用
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