diff options
| author | sigoden <sigoden@gmail.com> | 2024-06-27 12:30:09 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-27 12:30:09 +0800 |
| commit | f82524fd154a1bf4a7277db868147afdb0cd507a (patch) | |
| tree | 2fd588377d63b47b4ae1a051a0e363a9737f3f8f /src/config/input.rs | |
| parent | 33a0049a81103c1f6c5639b9cec43cb14a9ef367 (diff) | |
| download | aichat-f82524fd154a1bf4a7277db868147afdb0cd507a.tar.gz | |
feat: implement native rag url loader (#660)
Diffstat (limited to 'src/config/input.rs')
| -rw-r--r-- | src/config/input.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/config/input.rs b/src/config/input.rs index a41b1c7..3b15d1f 100644 --- a/src/config/input.rs +++ b/src/config/input.rs @@ -10,7 +10,6 @@ use crate::utils::{base64_encode, sha256, AbortSignal}; use anyhow::{bail, Context, Result}; use fancy_regex::Regex; use lazy_static::lazy_static; -use mime_guess::from_path; use std::{ collections::HashMap, fs::File, @@ -407,8 +406,16 @@ fn is_image_ext(path: &Path) -> bool { fn read_media_to_data_url<P: AsRef<Path>>(image_path: P) -> Result<String> { let image_path = image_path.as_ref(); - - let mime_type = from_path(image_path).first_or_octet_stream().to_string(); + let mime_type = match image_path.extension().and_then(|v| v.to_str()) { + Some(extension) => match extension { + "png" => "image/png", + "jpg" | "jpeg" => "image/jpeg", + "webp" => "image/webp", + "gif" => "image/gif", + _ => bail!("Unsupported media type"), + }, + None => bail!("Unknown media type"), + }; let mut file = File::open(image_path)?; let mut buffer = Vec::new(); file.read_to_end(&mut buffer)?; |
