При использовании пользовательского интерфейса Swagger при использовании параметра файла загрузки существует ограничение на размер файла.Я не уверен, где этот предел (chrome, swagger, web api), но файл, с которым мне дали тест, составляет 61,9 МБ (64 913 408 байт).
Я попытался установить максимальную длинусвойство для параметра на ноль, 75000000, слева от значения по умолчанию.
Параметр моего файла:
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (operation == null) return;
var fileParm = new Parameter
{
description = "File Upload",
name = "file",
@in = "formData",
required = true,
type = "file",
maxLength = 75000000
};
if (operation.operationId == "Brands_InsertData")
{
if (!operation.parameters.Any())
{
operation.parameters = new List<Parameter>();
}
operation.parameters.Add(fileParm);
operation.consumes.Add("multipart/form-data");
}
}
Моя конечная точка:
public async Task<HttpResponseMessage> InsertData()
{
BrandDataInsertReport result;
if (!Request.Content.IsMimeMultipartContent())
{
throw new ArgumentNullException("content");
}
using (var stream = await FileStreamUtilities.ReadLargeStreamAsync(Request))
{
result = GetMockResponse();
}
return Request.CreateResponse(HttpStatusCode.OK, result, JsonSerializerUtilities.IsoOverrideFormatter());
}
Файл, который необходим этой конечной точкепотребление довольно велико, но при определенном размере (скажем, около пяти мегабайт?) я начинаю получать ошибку 404 вместо удара по конечной точке при нажатии кнопки отправки.