Я пытаюсь отправить многочасовую форму с двоичной внутри (70mib) на мой API, но я получаю два сообщения об ошибках, когда загрузка завершает:
Доступ к Xmlhttprequest at 'https://api.contoso.com/v1/controler/uploadler 'https://www.contoso.com' 'был заблокирован политикой Cors: No' Access-Control-allow-Origin 'Заголовок присутствует в запрошенном ресурсе. 413 (запрос объекта слишком большой) < /p>
< /blockquote>
builder.Services.Configure(options =>
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.Limits.MaxRequestBufferSize = long.MaxValue;
});
builder.Services.Configure(options =>
{
options.MultipartBodyLengthLimit = 200 * 1024 * 1024; //200 MB
});
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
//DB connection
//Blob storage connection
//Auth/JWT
//Services/DI
var app = builder.Build();
app.Logger.LogInformation("Starting...");
< /code>
Когда в производстве: < /p>
app.Logger.LogInformation("Production mode");
app.UseCors(policyBuilder =>
{
policyBuilder.SetIsOriginAllowed((origin) => {
app.Logger.LogInformation("Origin of call: " + origin);
return origin.Equals("https://contoso.com") || origin.Equals("https://www.contoso.com");
})
.AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("App-Desktop");
});
//Allow access by the desktop app to these endpoints.
app.Use(async (context, next) =>
{
if (context.Request.Headers.ContainsKey("App-Desktop"))
{
var path = context.Request.Path.Value?.ToLower() ?? "";
app.Logger.LogInformation("Path of call from desktop app: " + path);
if (path.StartsWith("/v1/blogs"))
context.Response.Headers.Append("Access-Control-Allow-Origin", "*");
}
await next();
});
< /code>
Действие контроллера, под вопросом: < /p>
[HttpPost("upload")]
[Consumes("multipart/form-data")]
//[RequestSizeLimit(209_715_200)] //200Mib
[DisableRequestSizeLimit]
public async Task UploadBinary(IFormFile file, [FromForm] BinaryRequest binary)
{
_logger.LogInformation("Uploading asset: " + file.FileName);
//...
}
Проверка понимания API на Azure показывает мне эти 4 сообщения (сверху внизу):
Запуск запроса http/1.1. />
Происхождение вызова: https://www.contoso.com < /p>
< /blockquote>
Cors Policy Cexition Успешное. < /p>
< /blockquote>
weport htt https://api.contoso.com/v1/controller/upload - 204 - - 2,1230ms
Действие контроллера никогда не выполняется, поэтому сообщение «Загрузка выгрузки» никогда не регистрируется. /> Что может быть причиной этого?builder.Services.Configure(options =>
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.Limits.MaxRequestBufferSize = long.MaxValue;
options.Limits.MaxRequestHeadersTotalSize = int.MaxValue;
options.Limits.MaxResponseBufferSize = long.MaxValue;
});
builder.Services.Configure(options =>
{
options.ValueLengthLimit = int.MaxValue;
options.MultipartBodyLengthLimit = long.MaxValue;
options.MultipartHeadersLengthLimit = int.MaxValue;
options.BufferBodyLengthLimit = long.MaxValue;
options.MemoryBufferThreshold = int.MaxValue;
});
Подробнее здесь: https://stackoverflow.com/questions/794 ... ce-but-not
Загрузка файла не сбои с 413 -запросом, слишком большой в службу приложений Azure, но не во время работы локально ⇐ C#
Место общения программистов C#
1751460738
Гость
Я пытаюсь отправить многочасовую форму с двоичной внутри (70mib) на мой API, но я получаю два сообщения об ошибках, когда загрузка завершает:
Доступ к Xmlhttprequest at 'https://api.contoso.com/v1/controler/uploadler 'https://www.contoso.com' 'был заблокирован политикой Cors: No' Access-Control-allow-Origin 'Заголовок присутствует в запрошенном ресурсе. 413 (запрос объекта слишком большой) < /p>
< /blockquote>
builder.Services.Configure(options =>
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.Limits.MaxRequestBufferSize = long.MaxValue;
});
builder.Services.Configure(options =>
{
options.MultipartBodyLengthLimit = 200 * 1024 * 1024; //200 MB
});
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
//DB connection
//Blob storage connection
//Auth/JWT
//Services/DI
var app = builder.Build();
app.Logger.LogInformation("Starting...");
< /code>
Когда в производстве: < /p>
app.Logger.LogInformation("Production mode");
app.UseCors(policyBuilder =>
{
policyBuilder.SetIsOriginAllowed((origin) => {
app.Logger.LogInformation("Origin of call: " + origin);
return origin.Equals("https://contoso.com") || origin.Equals("https://www.contoso.com");
})
.AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("App-Desktop");
});
//Allow access by the desktop app to these endpoints.
app.Use(async (context, next) =>
{
if (context.Request.Headers.ContainsKey("App-Desktop"))
{
var path = context.Request.Path.Value?.ToLower() ?? "";
app.Logger.LogInformation("Path of call from desktop app: " + path);
if (path.StartsWith("/v1/blogs"))
context.Response.Headers.Append("Access-Control-Allow-Origin", "*");
}
await next();
});
< /code>
Действие контроллера, под вопросом: < /p>
[HttpPost("upload")]
[Consumes("multipart/form-data")]
//[RequestSizeLimit(209_715_200)] //200Mib
[DisableRequestSizeLimit]
public async Task UploadBinary(IFormFile file, [FromForm] BinaryRequest binary)
{
_logger.LogInformation("Uploading asset: " + file.FileName);
//...
}
Проверка понимания API на Azure показывает мне эти 4 сообщения (сверху внизу):
Запуск запроса http/1.1. />
Происхождение вызова: https://www.contoso.com < /p>
< /blockquote>
Cors Policy Cexition Успешное. < /p>
< /blockquote>
weport htt https://api.contoso.com/v1/controller/upload - 204 - - 2,1230ms
Действие контроллера никогда не выполняется, поэтому сообщение «Загрузка выгрузки» никогда не регистрируется. /> Что может быть причиной этого?builder.Services.Configure(options =>
{
options.Limits.MaxRequestBodySize = long.MaxValue;
options.Limits.MaxRequestBufferSize = long.MaxValue;
options.Limits.MaxRequestHeadersTotalSize = int.MaxValue;
options.Limits.MaxResponseBufferSize = long.MaxValue;
});
builder.Services.Configure(options =>
{
options.ValueLengthLimit = int.MaxValue;
options.MultipartBodyLengthLimit = long.MaxValue;
options.MultipartHeadersLengthLimit = int.MaxValue;
options.BufferBodyLengthLimit = long.MaxValue;
options.MemoryBufferThreshold = int.MaxValue;
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79462245/file-upload-fails-with-413-request-entity-too-large-in-azure-app-service-but-not[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия