@@ -12,7 +12,7 @@ use diesel_async::{AsyncConnection, RunQueryDsl};
1212use diesel_async:: scoped_futures:: ScopedFutureExt ;
1313use itertools:: Itertools ;
1414use log:: { debug, error, info} ;
15- use mime_guess:: from_ext;
15+ use mime_guess:: { from_ext, Mime } ;
1616use reqwest:: Client ;
1717use serde:: { Deserialize , Serialize } ;
1818use uuid:: Uuid ;
@@ -23,7 +23,7 @@ use crate::endpoints::filter::DocumentFilterRequest;
2323use crate :: endpoints:: save:: { SaveDocumentByUrlRequest , SaveDocumentRequest } ;
2424use crate :: EnvironmentState ;
2525use crate :: models:: { Content , DeleteContent , DeleteDocument , Document , NewContent , NewDocument } ;
26- use crate :: operations:: fs:: { delete_file, generate_path_by_uuid, generate_url_by_uuid, get_extension_and_file_name, get_file_name_in_url, move_file, read_content_bytes_to_base64, read_content_file_to_base64, save_file} ;
26+ use crate :: operations:: fs:: { delete_file, generate_path_by_uuid, generate_url_by_uuid, get_content_type_by_extension , get_extension_and_file_name, get_file_name_in_url, move_file, read_content_bytes_to_base64, read_content_file_to_base64, save_file} ;
2727use crate :: schema:: { content, document} ;
2828
2929mod fs;
@@ -100,12 +100,12 @@ pub async fn save_document_by_url(params: SaveDocumentByUrlRequest,
100100 let r = conn. transaction :: < Uuid , Report , _ > ( |conn| {
101101 async move {
102102 let url_file = params. url_file . clone ( ) ;
103+
103104 let file_name_in_url = get_file_name_in_url ( & url_file)
104105 . ok_or_eyre ( format ! ( "Error not match filename in url: {:?} " , url_file) ) ?;
105106 let ( filename, extension) = get_extension_and_file_name ( file_name_in_url) ;
106107
107- let mime_type = extension
108- . map ( |x| from_ext ( x) . first_or_octet_stream ( ) . to_string ( ) ) ;
108+ let mime_type = extension. map ( get_content_type_by_extension) ;
109109 let info_download = download_file ( & params. url_file ) . await ?;
110110 let new_document = NewDocument {
111111 id_document : & uuid_document,
0 commit comments