This commit is contained in:
parent
c2380f4e03
commit
1f77f4efdc
1 changed files with 6 additions and 3 deletions
|
@ -5,6 +5,8 @@ use rocket::http::Header;
|
||||||
use rocket::http::Status;
|
use rocket::http::Status;
|
||||||
use rocket::response::Responder;
|
use rocket::response::Responder;
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
|
use std::io::Read;
|
||||||
|
use std::io::Seek;
|
||||||
use std::os::unix::fs::FileExt;
|
use std::os::unix::fs::FileExt;
|
||||||
use std::os::unix::fs::MetadataExt;
|
use std::os::unix::fs::MetadataExt;
|
||||||
|
|
||||||
|
@ -46,9 +48,10 @@ impl Data {
|
||||||
if let Some(raw) = &self.raw {
|
if let Some(raw) = &self.raw {
|
||||||
raw[start..=end].to_vec()
|
raw[start..=end].to_vec()
|
||||||
} else {
|
} else {
|
||||||
let file = std::fs::File::open(self.file.as_ref().unwrap()).unwrap();
|
let mut file = std::fs::File::open(self.file.as_ref().unwrap()).unwrap();
|
||||||
let mut buf: Vec<_> = Vec::with_capacity((end - start) as usize);
|
file.seek(std::io::SeekFrom::Start(start as u64)).unwrap();
|
||||||
file.read_exact_at(&mut buf, start as u64).unwrap();
|
let mut buf = vec![0; end - start + 1];
|
||||||
|
file.read_exact(&mut buf).unwrap();
|
||||||
buf
|
buf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue