[BUG][csharp-netcore] Fix Multi Files for the same FormField (#11132) (#11259)

* [BUG][csharp-netcore] Fix Multi Files for the some FormField  (#11132)

Make FileParamerts a Multimap to enable sending more than one file with the same key.

* update documentation for csharp-netcore
This commit is contained in:
joaocmendes
2022-01-11 03:02:39 +00:00
committed by GitHub
parent de036e211e
commit b05faefb93
20 changed files with 104 additions and 76 deletions

View File

@@ -370,12 +370,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}

View File

@@ -277,10 +277,12 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var content = new StreamContent(fileParam.Value.Content);
content.Headers.ContentType = new MediaTypeHeaderValue(fileParam.Value.ContentType);
multipartContent.Add(content, fileParam.Key,
fileParam.Value.Name);
foreach (var file in fileParam.Value)
{
var content = new StreamContent(file.Content);
content.Headers.ContentType = new MediaTypeHeaderValue(file.ContentType);
multipartContent.Add(content, fileParam.Key, file.Name);
}
}
}
return multipartContent;

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, FileParameter> FileParameters { get; set; }
public Multimap<string, FileParameter> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, FileParameter>();
FileParameters = new Multimap<string, FileParameter>();
Cookies = new List<Cookie>();
}
}

View File

@@ -371,12 +371,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}

View File

@@ -371,12 +371,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}

View File

@@ -370,12 +370,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}

View File

@@ -371,12 +371,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}

View File

@@ -370,12 +370,15 @@ namespace Org.OpenAPITools.Client
{
foreach (var fileParam in options.FileParameters)
{
var bytes = ClientUtils.ReadAsBytes(fileParam.Value);
var fileStream = fileParam.Value as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, System.IO.Path.GetFileName(fileStream.Name)));
else
request.Files.Add(FileParameter.Create(fileParam.Key, bytes, "no_file_name_provided"));
}
}
}

View File

@@ -46,7 +46,7 @@ namespace Org.OpenAPITools.Client
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Dictionary<string, Stream> FileParameters { get; set; }
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
@@ -67,7 +67,7 @@ namespace Org.OpenAPITools.Client
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Dictionary<string, Stream>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}