使用上载文件参数时,使用Swagger UI时似乎存在文件大小限制。我不确定该限制在哪里(chrome,swagger,web api),但是已经提供给我用来测试的文件是61.9 MB(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());
}
此终结点需要消耗的文件很大,但是超过一定大小(例如大约5兆吗?),我开始收到404错误,而不是在点击提交时碰到了终结点。