Не удается загрузить большие файлы с помощью приложения MVC.NET Core - PullRequest
0 голосов
/ 07 декабря 2018

У меня проблема с загрузкой больших файлов в приложение MVC.NET Core.Независимо от того, что я делаю, я получаю ответ 404 без данных

Вот мой метод задачи, который загружает файл

        [RequestSizeLimit(40000000)]
    public static async Task<string> UploadAttachment(string bis232JsonString, string url, string formType, string token, long maxResponseContentBufferSize)
    {
        var result = "Error";
        try
        {
            // To Do : Use ConfigurationManager.AppSettings["endpoint"];
            string endpoint = $"{url}/{formType}Attachment/post";

            using (var client = new HttpClient())
            {

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                //client.MaxResponseContentBufferSize = maxResponseContentBufferSize;

                using (var request = new HttpRequestMessage(HttpMethod.Post, endpoint))
                {
                    request.Content = new StringContent(bis232JsonString, Encoding.UTF8, "application/json");
                    using (var response = await client.SendAsync(request))
                    {
                        if (response.IsSuccessStatusCode && (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.NoContent))
                            result = "Success";
                        else
                            result = "Error";
                    }
                }
            }
        }
        catch (Exception ex)
        {
            //to do : Log application error properly
            result = "Error";
        }

        return result;
    }

Я пробовал следующее

  1. Пробовалиспользовать свойство MaxResponseContentBufferSize HTTP-клиента
  2. Пытался использовать декоратор [RequestSizeLimit (40000000)]
  3. Пытался использовать декоратор [DisableRequestSizeLimit]
  4. Пытался обновить загрузкуглобально ограничить, как показано ниже

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseKestrel(options =>
        {
            options.Limits.MaxRequestBodySize = 52428800; });
    

Однако, независимо от того, что я пытаюсь сделать, ничего не получается

Пожалуйста, дайте мне знать, если есть что-то, что можетсделать, чтобы это заработало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...