@@ -422,19 +422,41 @@ pub {{#supportAsync}}async {{/supportAsync}}fn {{{operationId}}}(configuration:
422422 { {#supportAsync} }
423423 { {^required} }
424424 if let Some(ref param_value) = { {{vendorExtensions.x-rust-param-identifier} }} {
425- let file = TokioFile::open(param_value).await?;
425+ {{#isArray} }
426+ for value in param_value {
427+ let file = TokioFile::open(value).await?;
428+ let stream = FramedRead::new(file, BytesCodec::new());
429+ let file_name = value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
430+ let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
431+ multipart_form = multipart_form.part(" {{{baseName}}}" , file_part);
432+ }
433+ { {/isArray} }
434+ { {^isArray} }
435+ let file = TokioFile::open(param_value).await?;
436+ let stream = FramedRead::new(file, BytesCodec::new());
437+ let file_name = param_value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
438+ let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
439+ multipart_form = multipart_form.part("{ {{baseName} }}", file_part);
440+ { {/isArray} }
441+ }
442+ { {/required} }
443+ { {#required} }
444+ { {#isArray} }
445+ for value in & { {{vendorExtensions.x-rust-param-identifier} }} {
446+ let file = TokioFile::open(value).await?;
426447 let stream = FramedRead::new(file, BytesCodec::new());
427- let file_name = param_value .file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
448+ let file_name = value .file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
428449 let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
429450 multipart_form = multipart_form.part(" {{{baseName}}}" , file_part);
430451 }
431- { {/required } }
432- { {#required } }
433- let file = TokioFile::open(& { {{vendorExtensions.x-rust-param-identifier} }}).await?;
452+ { {/isArray } }
453+ { {^isArray } }
454+ let file = TokioFile::open({ {{vendorExtensions.x-rust-param-identifier} }}).await?;
434455 let stream = FramedRead::new(file, BytesCodec::new());
435456 let file_name = { {{vendorExtensions.x-rust-param-identifier} }}.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
436457 let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
437458 multipart_form = multipart_form.part("{ {{baseName} }}", file_part);
459+ { {/isArray} }
438460 { {/required} }
439461 { {/supportAsync} }
440462 { {/isFile} }
0 commit comments