@@ -1083,7 +1083,7 @@ pub async fn update_asset_review_notes(
10831083/// Upload a gallery image
10841084pub async fn upload_gallery_image (
10851085 configuration : & configuration:: Configuration ,
1086- file : std :: path :: PathBuf ,
1086+ file : crate :: patches :: better_file_upload :: File < ' _ > ,
10871087) -> Result < models:: File , Error < UploadGalleryImageError > > {
10881088 // add a prefix to parameters to efficiently prevent name collisions
10891089 let p_form_file = file;
@@ -1097,15 +1097,7 @@ pub async fn upload_gallery_image(
10971097 req_builder = req_builder. header ( reqwest:: header:: USER_AGENT , user_agent. clone ( ) ) ;
10981098 }
10991099 let mut multipart_form = reqwest:: multipart:: Form :: new ( ) ;
1100- let file = TokioFile :: open ( & p_form_file) . await ?;
1101- let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
1102- let file_name = p_form_file
1103- . file_name ( )
1104- . map ( |n| n. to_string_lossy ( ) . to_string ( ) )
1105- . unwrap_or_default ( ) ;
1106- let file_part =
1107- reqwest:: multipart:: Part :: stream ( reqwest:: Body :: wrap_stream ( stream) ) . file_name ( file_name) ;
1108- multipart_form = multipart_form. part ( "file" , file_part) ;
1100+ multipart_form = multipart_form. part ( "file" , p_form_file. get_multipart ( ) . await ?) ;
11091101 req_builder = req_builder. multipart ( multipart_form) ;
11101102
11111103 let req = req_builder. build ( ) ?;
@@ -1140,7 +1132,7 @@ pub async fn upload_gallery_image(
11401132/// Upload an icon
11411133pub async fn upload_icon (
11421134 configuration : & configuration:: Configuration ,
1143- file : std :: path :: PathBuf ,
1135+ file : crate :: patches :: better_file_upload :: File < ' _ > ,
11441136) -> Result < models:: File , Error < UploadIconError > > {
11451137 // add a prefix to parameters to efficiently prevent name collisions
11461138 let p_form_file = file;
@@ -1154,15 +1146,7 @@ pub async fn upload_icon(
11541146 req_builder = req_builder. header ( reqwest:: header:: USER_AGENT , user_agent. clone ( ) ) ;
11551147 }
11561148 let mut multipart_form = reqwest:: multipart:: Form :: new ( ) ;
1157- let file = TokioFile :: open ( & p_form_file) . await ?;
1158- let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
1159- let file_name = p_form_file
1160- . file_name ( )
1161- . map ( |n| n. to_string_lossy ( ) . to_string ( ) )
1162- . unwrap_or_default ( ) ;
1163- let file_part =
1164- reqwest:: multipart:: Part :: stream ( reqwest:: Body :: wrap_stream ( stream) ) . file_name ( file_name) ;
1165- multipart_form = multipart_form. part ( "file" , file_part) ;
1149+ multipart_form = multipart_form. part ( "file" , p_form_file. get_multipart ( ) . await ?) ;
11661150 req_builder = req_builder. multipart ( multipart_form) ;
11671151
11681152 let req = req_builder. build ( ) ?;
@@ -1197,7 +1181,7 @@ pub async fn upload_icon(
11971181/// Upload an image, which can be an icon, gallery image, sticker or emoji
11981182pub async fn upload_image (
11991183 configuration : & configuration:: Configuration ,
1200- file : std :: path :: PathBuf ,
1184+ file : crate :: patches :: better_file_upload :: File < ' _ > ,
12011185 tag : models:: ImagePurpose ,
12021186 animation_style : Option < models:: ImageAnimationStyle > ,
12031187 frames : Option < i32 > ,
@@ -1227,15 +1211,7 @@ pub async fn upload_image(
12271211 multipart_form =
12281212 multipart_form. text ( "animationStyle" , serde_json:: to_string ( & param_value) ?) ;
12291213 }
1230- let file = TokioFile :: open ( & p_form_file) . await ?;
1231- let stream = FramedRead :: new ( file, BytesCodec :: new ( ) ) ;
1232- let file_name = p_form_file
1233- . file_name ( )
1234- . map ( |n| n. to_string_lossy ( ) . to_string ( ) )
1235- . unwrap_or_default ( ) ;
1236- let file_part =
1237- reqwest:: multipart:: Part :: stream ( reqwest:: Body :: wrap_stream ( stream) ) . file_name ( file_name) ;
1238- multipart_form = multipart_form. part ( "file" , file_part) ;
1214+ multipart_form = multipart_form. part ( "file" , p_form_file. get_multipart ( ) . await ?) ;
12391215 if let Some ( param_value) = p_form_frames {
12401216 multipart_form = multipart_form. text ( "frames" , param_value. to_string ( ) ) ;
12411217 }
0 commit comments