Что я пробовал:
- Рабочие сценарии:
- Консольное приложение Windows: успешно загружает большие файлы.
- Приложение Swift на Mac: успешно загружает большие файлы.
< li>Почтальон: успешно загружает большие файлы на сервер.
- Проблемные сценарии:
- Симулятор MAUI: загрузка файлов размером более 700 байт завершается с ошибкой 400 Bad Request.
- Приложение Xamarin для iOS: аналогичная проблема с 400 неверным запросом для файлов большего размера.
- Инициализация HttpClient:
Код: Выделить всё
var configuration = NSUrlSessionConfiguration.DefaultSessionConfiguration;
configuration.AllowsCellularAccess = true;
configuration.AllowsConstrainedNetworkAccess = true;
configuration.AllowsExpensiveNetworkAccess = true;
var session = new NSUrlSessionHandler(configuration);
var client = new HttpClient(session);
- Пример загрузки многостраничной формы:
Код: Выделить всё
public async Task UploadFileAsync(string url, string filePath)
{
using var client = new HttpClient();
using var content = new MultipartFormDataContent();
var fileContent = new StreamContent(File.OpenRead(filePath));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
content.Add(fileContent, "file", Path.GetFileName(filePath));
var response = await client.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Upload successful!");
}
else
{
Console.WriteLine($"Error: {response.StatusCode}");
}
}
- Конфигурация безопасности транспорта приложений:
Код: Выделить всё
NSAppTransportSecurity
NSExceptionDomains
mycompany.com
NSIncludesSubdomains
NSTemporaryExceptionAllowsInsecureHTTPLoads
NSTemporaryExceptionMinimumTLSVersion
TLSv1.3
- Проверка конфигурации: проверено, что параметры NSUrlSessionConfiguration подходят для больших загрузка файлов.
- Проверка размера файла: успешно загружаются небольшие файлы, но возникают проблемы с файлами размером более 1 МБ.
- Что может быть причиной ошибки 400 Bad Request, особенно для файлов большего размера при использовании HttpClient в приложении MAUI?< /li>
Существуют ли в NSUrlSessionHandler или NSUrlSessionConfiguration определенные конфигурации или параметры, которые мне следует настроить для обработки больших загрузок файлов? - Могут ли существовать какие-либо другие факторы окружающей среды или симулятор -конкретные проблемы, которые могут повлиять на возможность загрузки файлов большего размера?
Подробнее здесь: https://stackoverflow.com/questions/789 ... ng-bad-req